当前位置: 代码迷 >> Java Web开发 >> Servlet Session 购物车,该怎么解决
  详细解决方案

Servlet Session 购物车,该怎么解决

热度:5910   发布时间:2013-02-25 21:06:49
Servlet Session 购物车
最近学到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页面仍然为删除前的状态,当将另外一件物品添加到购物车时,购物车列表显示的是删除前的结果,求教原因LZ,删除完之后,你的重新把对象放入到session里面
,不然也没还是获取的原来的。
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!