Bonjour !
J'aimerai faire un truc tout bête : remplir une liste déroulante à partir d'un ResultSet dans une page jsp.
Pour faire ceci j'ai crée une classe ConnexionPerso : qui me permet de me connecter à ma base et d'executer ma requête (ceci me permettra à l'avenir de ne pas surcharger mon code à chaque requête).
Voici cette classe (qui se trouve dans le package germande):
[code]
package germande;
import java.sql.*;
publicclass ConnexionPerso {
protected Statement statement;
protected ResultSet resultSet;
protected Connection conn;
ConnexionPerso(){
super();
}
public ResultSet ConnectAndQuestion(String query)throws Exception
{
try{
String user="root";
String pwd="root";
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url=("jdbc:mysql://127.0.0.1:3306/BIOTECH");
conn = DriverManager.getConnection(url, user,pwd);
statement = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
resultSet=statement.executeQuery(query);
}
catch(Exception e){
// This exception is caught if JDBC driver used cannot be loaded
System.err.println("\n*** Exception caught in LoadDriver()"+e);
throw(Exception) e;
}
return resultSet;
}
/**
* Close the connection to the data base source
*/
publicvoid close()throws Exception
{
try{
resultSet.close();
statement.close();
conn.close();
System.out.println("Deconnexion...");
}
catch(Exception e){
System.err.println("\n*** Exception caught in close()");
throw e;
}
}
}
[/code]
et voici ma page formulaire.jsp que je voudrais tester :
[code]
<%@page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.sql.*" %>
<%@ page import="germande.*"%>
<html>
<head>
<title>Fiche prélèvement - formulaire</title>
</head>
<body>
<center>
<img src="logoBiotech.jpg" align="left" alt="logo Biotech-Germande" width="5%"></img>
<h2>Fiche prélèvement - formulaire</h2>
</center>
<table>
<tr>
<td>Preleveur: </td>
<td>
<%
ConnexionPerso com = new ConnexionPerso();
String query="SELECT Nom,idPreleveur FROM Preleveur";
ResultSet NP=com.ConnectAndQuestion(query);
%>
<SELECT name="nomPreleveur">
<% while(NP.next()){ %>
<option value="<%= NP.getString("idPreleveur")%>" <%= NP.getString("Nom") %> ></option>
<%}
%>
</SELECT>
</td>
</tr>
</table>
</body>
</html>
[/code]
Pour le moment, il n'y a pas de servlet qui va gérer les informations générées par cette page jsp.
Mon soucis est le suivant : j'ai une page blanche : ce qui signifie que la page n'a pu être conçu .
J'appelle ma page ainsi (qui se trouve bien dans ce répertoire):
germande/WEB-INF/JSP/LEG/Prlvmnt/formulaireFichePrlvLEG.jsp
Je n'ai rien rajouté dans le web.xml et bien entendu j'ai testé ma requête avant de l'ajouter à ma JSP
Une idée ? voyez vous une étourderie un oubli?
Merci,
ps: il est bien possible d'appeler une classe dans un jsp non ?