JSP 做网上商城系统时 在购物车上出了问题
应该是点击商品的购买按钮就添加进购物车,并在下一页面显示所有购买的商品的信息。现在的问题是,在页面中只显示一条商品信息,有时候还不是我购买的商品,希望有高手解决下,有加分...
应该是点击商品的购买按钮就添加进购物车,并在下一页面显示所有购买的商品的信息。现在的问题是,在页面中只显示一条商品信息,有时候还不是我购买的商品,希望有高手解决下,有加分。不知道是不是这段有问题
//用session控制只有一个购物车
Cart cart=(Cart)request.getSession().getAttribute("c");
if(cart==null){
cart=new Cart();
request.getSession().setAttribute("c", cart);
}
因为我把这段用Cart cart=new Cart();替代时,起码能正确显示我最近购买的一条商品的信息。
我是用哈希图来存储要购买的商品信息的,用session控制只有一个cart购物车对象,每次点击购买就通过哈希图的put方法将商品信息存进哈希图,迭代得到哈希图的所有Key:Iterator it=hm.keySet().iterator(); 将得到的GoodsBean对象放入ArrayList:
Cart cart=(Cart)request.getSession().getAttribute("c");
if(cart==null){
cart=new Cart();
request.getSession().setAttribute("c", cart);
}
cart.addgood(goodid, "1");
ArrayList al=cart.showcart();
request.setAttribute("mycart",al);
request.getRequestDispatcher("showcart.jsp").forward(request, response); 展开
//用session控制只有一个购物车
Cart cart=(Cart)request.getSession().getAttribute("c");
if(cart==null){
cart=new Cart();
request.getSession().setAttribute("c", cart);
}
因为我把这段用Cart cart=new Cart();替代时,起码能正确显示我最近购买的一条商品的信息。
我是用哈希图来存储要购买的商品信息的,用session控制只有一个cart购物车对象,每次点击购买就通过哈希图的put方法将商品信息存进哈希图,迭代得到哈希图的所有Key:Iterator it=hm.keySet().iterator(); 将得到的GoodsBean对象放入ArrayList:
Cart cart=(Cart)request.getSession().getAttribute("c");
if(cart==null){
cart=new Cart();
request.getSession().setAttribute("c", cart);
}
cart.addgood(goodid, "1");
ArrayList al=cart.showcart();
request.setAttribute("mycart",al);
request.getRequestDispatcher("showcart.jsp").forward(request, response); 展开
4个回答
展开全部
你应该用一个集合类型,比如List来存储你的商品信息。在每次添加新商品的时候,就往这个集合里面添加商品信息!
例如:
List shoplist = new ArrayList();
request.getSession().setAttribute("c", shoplist );
这里做初始化的购物车。
如果添加了新商品,
List lis = request.getSession().setAttribute("c");
lis.add(cart)
request.getSession().setAttribute("c", lis);
这样说LZ你明白了吗?
例如:
List shoplist = new ArrayList();
request.getSession().setAttribute("c", shoplist );
这里做初始化的购物车。
如果添加了新商品,
List lis = request.getSession().setAttribute("c");
lis.add(cart)
request.getSession().setAttribute("c", lis);
这样说LZ你明白了吗?
展开全部
我怀疑是不是因为你session里有别的C对象,重复了
如果不是的话,那么代码就出现在Cart构建的时候了
如果不是的话,那么代码就出现在Cart构建的时候了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你新new一个没有给他赋值必定为NULL的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
购物车用session这玩意?你们服务器能受的了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询