可以试试下面这个方法,早前我也是用你这种方法,遇到同样的情况,呵呵,不过解决了,方法如下session.setAttribute("cart",null);
解决方案 »
- struts项目中遇到一个奇葩的问题
- 请教:开发项目,使用springside3.3.4 框架, 部署项目过程.
- 返回3个数中间数的索引
- 各位大侠,求调试方法。
- org.htmlparser已导入却仍然找不到
- spring的配置问题
- java项目在windows下中文正常但是在AIX下中文乱码
- 送分!spring的配置文件里如何使用环境变量.
- 发布的到底是JAR文件还是EAR文件,还是两者都一样?有什么区别?
- Struts 标记里面如何设置checkbox为选中状态????
- java.lang.NoClassDefFoundError: org/apache/commons/httpclient/Credentials
- 请教activemq+spring的配置问题
不知道为什么还有用for语句循环也是会出现原来的商品。
{
for (int i=0;i<cart.size();i++)//第一种
{
cart.removeElementAt(removeNo);
}
session.setAttribute("cart",null);//第二种
session.removeAttribute("cart");//第三种
}
<A href="list.jsp?action=delall">清空</a> //按钮
就这些
{
Cart cart = (Cart)session.getAttribute("cart");
System.out.println(">>>>>>>>>>>>>>>cart.size = " + cart.size);
session.setAttribute("cart",null);
}
System.out.println(">>>>>>>1>>>>>>>>cart.size = " + cart.size());
session.setAttribute("cart",null); cart = new Cart();
System.out.println(">>>>>>>>2>>>>>>>cart.size = " + cart.size());
session.setAttribute("cart",cart);} Cart 是你所对应的购物车的类这样的cart应该是0了
cart.size() 这里的cart是没有.size() 方法的,只是演示
如果照你上面做的话,这些语句应该怎么写,本人比较笨,上面的cart把我搞晕了。
谢谢你的帮忙!!
你用的应该是java.util.Vector是吧if(action.equals("delall")) { Vector shoppingcart = (Vector)session.getAttribute("shoppingcart");
System.out.println(">>>>>>>第一次输出>>>>>>>>cart.size = " + shoppingcart.size());
session.setAttribute("shoppingcart",null); shoppingcart = new Vector();
System.out.println(">>>>>>>>第二次输出>>>>>>>cart.size = " + shoppingcart.size());
session.setAttribute("shoppingcart",shoppingcart); } 请看看后台的信息,如果你购买了再清空,那么,第一次输出的应该是你购买的数量,第二次输出的应该是0了
<input name="num<%=i%>" size="7" type="text" class="txt_grey" value="<%=goodsitem.number%>" onBlur="check(this.form)">
这种语句可以写到<% %>这里面吗,可以写的话要怎么写?谢谢了
如果上面第二次输出的shoppingcart是0,显然上面的shoppingcart在session里面是清空了是不是,那就要看你的页面是怎么响应(重定向)的了,让你的页面再从session中取得shoppingcart,让它重新遍历一下,想想这种情况下的shoppingcart怎么可能还有对象呢,肯定没有的,也就是空的了,祝你成功