De plus on dirai que mn dispatcher ne fait pas son travail.
De plus on dirai que mn dispatcher ne fait pas son travail.
Tu fais les choses de travers.
Il faut te poser la question suivante : qui gère la liste : la jsp ou la servlet ?
La réponse est bien évidement : la servlet.
=> c'est donc à elle de créer l'objet List.
Ta page ne fait que récupérer l'objet transmis par la servlet, ce qui suppose que la servlet soit appelée avant. Si ce n'est pas le cas, tu devras créer une liste vide ou ne pas faire le traitement de chargement si list == null.
En résumé, la servlet fait ceci
et ta page
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<List<String>> list = new ArrayList<List<String>>(); String chp_affaire = request.getParameter("affaire"); String url = "jdbc:oracle:thin:@....."; String login = "...."; String password = "....."; try{ Connection dbc = DriverManager.getConnection(url,login,password); if (chp_affaire != null) { PreparedStatement pstmt_affaire = dbc.prepareStatement("SELECT id_fouille,num_ctv,num_ccs,num_adr,nom_type_voie,nom_voie,num_cp FROM fouille, ccs,numadr,nomvoie,typevoie,code_postal,numero_aff WHERE fouille.id_numero_aff = numero_aff.id_numero_aff AND fouille.id_ccs = ccs.id_ccs AND fouille.id_numAdr = numadr.id_numAdr AND fouille.id_nom_voie = nomvoie.id_nom_voie AND fouille.id_type_voie = typevoie.id_type_voie AND fouille.id_cp = code_postal.id_cp AND num_affaire= ?"); pstmt_affaire.setString(1, chp_affaire); ResultSet resultat_affaire = pstmt_affaire.executeQuery(); ResultSetMetaData rsmd = resultat_affaire.getMetaData(); while (resultat_affaire.next()) { List<String> record = new ArrayList<String>(); for (int i = 0; i < rsmd.getColumnCount(); i++) { record.add(resultat_affaire.getString(i+1)); } list.add(record); } request.setAttribute("Liste", list); request.getRequestDispatcher("/rechAffaire.jsp").forward(request, response); } } catch(Exception e) { e.printStackTrace(); } finally { dbc.close(); } }
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
18
19
20
21 <% List<List<String>> list = (List<List<String>>)request.getAttribute("Liste"); if (list != null) { Iterator it = list.iterator(); out.write("<TABLE BORDER=1 width='100%'><TR><TH>id</TH><TH>N°Affaire</TH><TH>N°CTV</TH><TH>N°CCS</TH><TH>N°</TH><TH>Type Voie</TH><TH width='25%'>Nom Voie</TH><TH>CP</TH></TR>"); while (it.hasNext()) { List<String> record = (List<String>)it.next(); Iterator it2 = record.iterator(); out.write("<tr>"); while (it2.hasNext()) { out.write("<td>" + it2.next() + "</td>"); } out.write("</tr>"); } out.write("</table>"); } %>
Tu en pense quoi?
c'est possible de cette manière?
Il naime pas ce que je met dans la value de mon input.
C'est peut être parce que dans ta page JSP tu ne récupère pas la List car dans ta page java tu fait un setAttribute mais tu fais jamais de getAttribute.
Effectivement sa marche, ya quelque chose qui s'affiche
Partager