jsp中用session写简单购物车

流程:
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一个。

 

 

 

个人见解,大家发现有问题的话请留言指教。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值