Bonjour,
Comme je fais mon premier site internet dans le cadre de mon bachelier en informatique de gestion, J'ai un peu de mal...
Voila: dans le cadre d'une gestion de panier, je voudrais supprimer un élément de mon panier
Voici le code de mon Cart.jsp
et celui de ma servlet (DeleteOneArticleServlet)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="modele.*"%> <%@ page import="bean.CartBean"%> <%@ page import="java.util.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@page import="model.Article"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Catalogue</title> <% ServletContext context = this.getServletContext(); CartBean cartBean = new CartBean(); cartBean.setStock(Facade.getInstance().showStock().getArticles()); %> </head> <body> <h1 style=text-align:center>ShoesShop</h1> <br/> <br/> <a href="action.do?action=cartJsp">Mon Panier</a> <br/> <br/> <h2>Notre catalogue:</h2> <br/> <br/> <form method="post"action="addArticle.do"> <font color=red> <% if ((request.getAttribute("message")) != null) {%> <%= request.getAttribute("message")%> <% } %> </font> <table border="1px"> <tr> <th>Article</th> <th>Prix</th> <th>Stock</th> <th>Quantité</th> </tr> <% int i = 0; for (Map.Entry<Article, Integer> e : cartBean.getStock().entrySet()) { %> <tr> <td><%=e.getKey().getDescription()%><input type="hidden" name="description<%=i%>" value="<%=e.getKey().getDescription()%>"/></td> <td><%=e.getKey().getPrice()%><input type="hidden" name="price<%=i%>" value="<%=e.getKey().getPrice()%>"/></td> <td><%=e.getValue()%><input type="hidden" name="stock<%=i%>" value="<%=e.getValue()%>"/></td> <td><input type="text" size="10" name="quantity<%=i%>" /></td> </tr> <% i++; } %> </table> <input name="submit" type="submit" value="ajouter au panier" /> </form> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <b><i>website created by Hardman Laetitia, all rights reserved®</i></b> </body> </html>
Mais voila ce que me renvoi Tomcat:
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 protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //Needed variable to used a cartBean CartBean cartBean; Article article; double price = 0.0; int quantity = 0; Object o = request.getParameter("description0"); int i = 0; // Setting the content type for the response response.setContentType("text/html"); while(o!=null){ if(o!=null){ cartBean = (CartBean) request.getSession().getAttribute("cartBean"); if(null == cartBean){ cartBean = new CartBean(); request.getSession().setAttribute("cartBean", cartBean); } String description = request.getParameter("description"+i); String priceString = String.valueOf(request.getParameter("price"+i)); price = Double.parseDouble(priceString); System.out.println("voici le prix:"); System.out.println(price); String quantityString = String.valueOf(request.getParameter("quantity"+i)); quantity = Integer.parseInt(quantityString); article = new Article(description, price); if(null != request.getParameter("description"+i)){ //Set cartBean's cart Facade.getInstance().removeArticle(article, quantity); cartBean.setCart(Facade.getInstance().getArticles()); } request.getSession().setAttribute("cartBean", cartBean); i++; } } this.getServletContext().getRequestDispatcher("/jsp/CartJsp.jsp").forward(request, response); }
Etat HTTP 500 -
type Rapport d'exception
message
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
java.lang.NumberFormatException: For input string: "null"
sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1242)
java.lang.Double.parseDouble(Double.java:527)
servlets.DeleteOneArticleServlet.doPost(DeleteOneArticleServlet.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.28.
(dans éclipse c'est: price = Double.parseDouble(priceString); => ici c'est ligne 21)
Je ne vois pas comment faire, et après avoir tourné en rond pendant quelques jours...
Merci d'avance
Partager