最近学到session,做了一个购物车练手,可以实现添加到购物车,但做删除的时候遇到了障碍,
共写了CartItem.java, ShoppingCart.java, addShoppingCartServlet.java, getShoppingCartServlet.java,四个类,其中
CartItem.java 负责物品的属性
ShoppingCart.java 负责购物车的添加和删除
两个Servlet类分别负责添加和显示,测试正常这是ShoppingCart.java里的删除方法
public boolean removeItem(String id){
CartItem cartItem=null;
for(int i=0;i<cart.size();i++){
cartItem=cart.get(i);
if(cartItem.getId().equals(id)){
cart.remove(id);
return true;
}
}
return false;
}删除的调用
out.println("<a href=\"/ShoppingCart/deleteServlet?id="+item.getId()+"\">刪除</a>");这个是deleteServlet.java中的处理
HttpSession session=req.getSession();
ShoppingCart cart=(ShoppingCart)session.getAttribute("shoppingcart");
String id=req.getParameter("id");
if(cart!=null&&id!=null&&!"".equals(id)){
cart.removeItem(id);
out.println("刪除成功!");
}
else{
out.println("刪除失敗!");
}在控制台测试删除方法返回的是true,但getShoppingCartServlet页面仍然为删除前的状态,当将另外一件物品添加到购物车时,购物车列表显示的是删除前的结果,求教原因
共写了CartItem.java, ShoppingCart.java, addShoppingCartServlet.java, getShoppingCartServlet.java,四个类,其中
CartItem.java 负责物品的属性
ShoppingCart.java 负责购物车的添加和删除
两个Servlet类分别负责添加和显示,测试正常这是ShoppingCart.java里的删除方法
public boolean removeItem(String id){
CartItem cartItem=null;
for(int i=0;i<cart.size();i++){
cartItem=cart.get(i);
if(cartItem.getId().equals(id)){
cart.remove(id);
return true;
}
}
return false;
}删除的调用
out.println("<a href=\"/ShoppingCart/deleteServlet?id="+item.getId()+"\">刪除</a>");这个是deleteServlet.java中的处理
HttpSession session=req.getSession();
ShoppingCart cart=(ShoppingCart)session.getAttribute("shoppingcart");
String id=req.getParameter("id");
if(cart!=null&&id!=null&&!"".equals(id)){
cart.removeItem(id);
out.println("刪除成功!");
}
else{
out.println("刪除失敗!");
}在控制台测试删除方法返回的是true,但getShoppingCartServlet页面仍然为删除前的状态,当将另外一件物品添加到购物车时,购物车列表显示的是删除前的结果,求教原因
解决方案 »
- 最近在设计一个B2B权限系统,关于角色授权、用户授权的时候写不下去了
- 网页文本域的问题
- struts的页面刷新问题,一个困扰了很久的问题,肯请大家帮忙
- 实现动态下载的问题
- .java文件编译成.class文件的过程中出现的错误。如何解决?
- 感谢大家问一个简单问题。
- 请问如何手工用 jspc 编译 jsp 文件?
- 在Mysql数据库中的BLOB列中含有图片XXXX.jpg,但我不知道怎样将其显示在jsp页面上<img src="XXXX.jpg">,请高手教路?
- 小弟有个简单的问题,希望各位大哥能给予帮助,就是关于图片保存的问题
- 记录集更新的问题
- 关于Servlet容器和doGet/Post()的疑问
- struts2构建的web项目中配置文件struts.xml应该放在哪?
for(int i=0;i<items.size();i++){
item=items.get(i);
out.println("<tr>");
out.println("<td>");
out.println(item.getName());
out.println("</td>");
out.println("<td>");
out.println(item.getPrice());
out.println("</td>");
out.println("<td>");
out.println(item.getQuantity());
out.println("</td>");
out.println("<td>");
out.println(item.getSum());
out.println("</td>");
out.println("<td>");
out.println("<a href=\"/ShoppingCart/deleteServlet?id="+item.getId()+"\">刪除</a>");
out.println("</td>");
out.println("</tr>");
}
,不然也没还是获取的原来的。
HttpSession session=req.getSession(); ShoppingCart cart=(ShoppingCart)session.getAttribute("shoppingcart"); String id=req.getParameter("id"); if(cart!=null&&id!=null&&!"".equals(id)){ cart.removeItem(id); out.println("刪除成功!"); } else{ out.println("刪除失敗!"); } 上述代码中,只看见你往cart对象中去放内容,没有见到你把这个对象在放回session中。说到这里,我不知道cart对象是不是不需要set到到session中就直接放进去了。 sorry,我技术也不行,我只是提出我的疑问而已。