Bonjour,
Dans mon servlet, je recupere des données dans une base de données.Ces données sont inserer dans un objet, lui meme inserer dans une ArrayList.
Je transmet mon ArrayList au JSP via ce code :
Ensuite dans mon JSP je recupere et j'exploite mon ArrayList comme ceci :
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
42
43
44 response.setContentType("text/html;charset=UTF-8"); Produit leProduit = new Produit(); ArrayList lesProduits = new ArrayList(); String idCat; idCat = request.getParameter("idCat"); try { out = response.getWriter(); Statement stmt = conn.createStatement(); String requete = "SELECT * FROM produit WHERE idCategorie=" + idCat + ";"; ResultSet rs = stmt.executeQuery(requete); while(rs.next()) { leProduit.setNo(rs.getInt("idProduit")); leProduit.setLibelle(rs.getString("libelle")); leProduit.setPrixHT(rs.getDouble("prixHT")); leProduit.setTauxTVA(rs.getDouble("tauxTVA")); lesProduits.add(leProduit); } request.setAttribute("lesProduits", lesProduits); request.getRequestDispatcher("index.jsp").forward(request, response); lesProduits.clear(); rs.close(); stmt.close(); } catch(SQLException e) { out.println("Exception SQL"); } catch(IOException e) { out.println("Exception I/O"); } out.close();
Ca marche presque bien. A l'affichage je n'est que le dernier objet de mon ArrayList qui se répète autant de fois que la taille de mon ArrayList.
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 <% ArrayList<Produit> lesProduits = new ArrayList(); lesProduits = (ArrayList<Produit>)request.getAttribute("lesProduits"); for (int i=0; i<lesProduits.size(); i++) { Produit leProduit = (Produit)lesProduits.get(i); %> <div class="item"> <img src="images/item5.jpg" alt="" width="202" height="173" /><br /> <p> <% out.println(leProduit.getLibelle()); %> </p> <span> <% out.println(leProduit.getPrixTTC()); %> </span><a href="index2.html">Voir</a> </div> <% } lesProduits.clear(); %>
Savait-vous pourquoi ?
Merci,
A.
Partager