jsp中用session写简单购物车
程序员文章站
2022-03-15 09:45:33
...
流程:
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一个。
个人见解,大家发现有问题的话请留言指教。
上一篇: Java实现MD5加密
下一篇: Java实现MD5加密