Comment récupérer la valeur d'un checkbox
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
Code:
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> |
et celui de ma servlet (DeleteOneArticleServlet)
Code:
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);
} |
Mais voila ce que me renvoi Tomcat:
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