日期:2014-05-16 浏览次数:20423 次
流程:
1、读取商品id
2、通过id查找出商品对象
3、建立购物车对象(属性包括商品和数量)
4、将步骤2中查找出的对象装进购物车对象中,并默认添加数量为1个。
5、建立一个购物车list,判断list是否为空。第一次进入肯定为空,那么就new一个list,然后list.add()。这中间包括一个判断过程,假如添加两件相同的商品,那么商品的数量要增加,价格要增加。
???? 判断是否是同一个商品时,可以通过id是否相同来判断。
?
?
?
request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String id = request.getParameter("id"); ProDAO pDao = new ProDAO(); Product pro = pDao.findById(id); ShopCar sc = new ShopCar(); sc.setPro(pro); sc.setNum(1); List<ShopCar> shopList = (List<ShopCar>) session.getAttribute("shopList"); if (shopList == null) { shopList = new ArrayList<ShopCar>(); } boolean flag = false; for (ShopCar s : shopList) { if (s.getPro().getId() == Integer.valueOf(id)) { flag = true; s.setNum(s.getNum() + 1); s.getPro().setPrice(s.getPro().getPrice() + s.getPro().getPrice()); break; } } if (!flag) { shopList.add(sc); } session.setAttribute("shopList", shopList); response.sendRedirect("car.jsp");
?
?
其中需要注意的就是是否为null的判断。如果为null就new一个。
?
?
?
个人见解,大家发现有问题的话请留言指教。