Import de class dans Jsp + liste déroulante

Fridimette Messages postés 12 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 21 avril 2008 - 21 avril 2008 à 14:17
hluder Messages postés 35 Date d'inscription lundi 23 octobre 2006 Statut Membre Dernière intervention 6 juin 2008 - 23 avril 2008 à 17:19
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):
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; 
 
}
}
}
 


et voici ma page formulaire.jsp que je voudrais tester :
<%@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&amp;eacute;l&amp;egrave;vement - formulaire</title>
   </head>
   
     <center>
 "logoBiotech.jpg" align="left" alt="logo Biotech-Germande" width="5%"> 
       Fiche pr&amp;eacute;l&amp;egrave;vement   - formulaire

    </center>      
         Preleveur:,
<%
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>

     
</html>
 


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 ?

1 réponse

hluder Messages postés 35 Date d'inscription lundi 23 octobre 2006 Statut Membre Dernière intervention 6 juin 2008
23 avril 2008 à 17:19
Oui c'est possible mais moi j'utilise une autre technique qu ela tienne

String truc=NP.getString("nom");
String id=NP.getString("id");
et après

<option value="<% out.println(id);%>"> <% out.println(truc); %> </option>

Pour INFO : tu as mal mis ton ">" dans <option value...> faut le mettre avant d emettre le nom

-------------------------------------------------
Nivraë - just her
0
Rejoignez-nous