bonsoir
je cherche a coder une listebox dans un page jsp, la listebox se remplit suite a une requette SQL.
l'objet listbox appartiens a quel class et les methodes ..?
faut t'il invoquer la listebox depuis une page JSP ou Servlet ???
bonsoir
je cherche a coder une listebox dans un page jsp, la listebox se remplit suite a une requette SQL.
l'objet listbox appartiens a quel class et les methodes ..?
faut t'il invoquer la listebox depuis une page JSP ou Servlet ???
Tu peux mettre le résultat de la requête dans une collection de type ArrayList par exemple, puis la mettre dans le scope request pour la rendre accessible depuis la jsp et ensuite, dans la jsp, tu utilises les tags select et option.
Si par exemple la liste est une ArrayList de String, dans la jsp, tu peux l'afficher comme ceci :
et pour récupérer l'élément sélecté dans la servlet exécutée au submit du formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <jsp:useBean id="uneListe" scope="request" type="java.util.ArrayList"/> <form method="POST" action="<%=request.getContextPath()+"/pathDeLaServlet"%>"> <select name="itemSelected"> <% for (int i=0; i<uneListe.size(); i++) { String item= (String) uneListe.get(i) ; %> <option value="<%=item%>"><%=item%></option> <% } %> </select> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part String itemSelected = request.getParameter("itemSelected") ;
bonjour,
merci pour le code, mais je doit remplir ma listebox via une requete SQL,
je me demande commen faire, et sur tout je pence qu'il faut coder le remplissage de la listebox dans une servlet plutot que dans une jsp,
ca me semble plus securiser, je me trompe??
CDLT
Philo
Le code mis dans la jsp est celui qui permet d'afficher le contenu de la liste sous forme de liste déroulante mais la constitution de la liste à partir du résultat d'une requête SQL, doit se faire dans une méthode d'une classe.
Tu fais appel à cette méthode dans la servlet et tu mets la liste dans le scope request pour pouvoir y accèder via la jsp.
Pour constituer une liste à partir du résultat d'une requête SQL, tu peux faire quelque chose du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 ArrayList uneListe = new ArrayList(); try { Connection connection = // ici, mettre le code permettant de récupérer la connexion Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("select nomDuChamp from nomTable"); while (rs.next()) { uneListe.add(rs.getString("nomDuChamp")); } rs.close(); stmt.close(); } catch (SQLException e) { // code de gestion de l'erreur }
bonjour,
suite a votre code :
ArrayList uneListe = new ArrayList();
comment je declare la class ArrayList ??
Philo
ArrayList est une classe du package java.util.
Il suffit donc de faire un import de cette classe au début de la servlet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part import java.util.ArrayList ;
Partager