cookie删除购物车里面多个项
来源:互联网 发布:数据库修改语句例题 编辑:程序博客网 时间:2024/06/06 01:22
当我们在Cookie用ArrayList保存购物车里面的项时,单个的删除是简单的。
List<CartItem> list = getCartItemList(request, response);for (CartItem cartItem : list) {if (cartItem.getId() == itemId) {System.out.println("list " + list.size());list.remove(cartItem);CookieUtils.setCookie(request, response, "TT_CART", JsonUtils.objectToJson(list));System.out.println("list " + list.size());break;}}那如果是多个删除呢?
如果像这样一个个地删除
List<CartItem> list = getCartItemList(request, response);// 12,232String[] itemIds = item_list.split(",");long id1 = Long.parseLong(itemIds[0]);long id2 = Long.parseLong(itemIds[1]);System.out.println("id1: " + id1 + " id2" + id2);int index = 0;for (CartItem cartItem : list) {index++;System.out.println(index);if (cartItem.getId() == id1) {System.out.println("id1list " + list.size());list.remove(cartItem);System.out.println("cartItem " + cartItem.getId());}if (cartItem.getId() == id2) {System.out.println("id2list " + list.size());list.remove(cartItem);System.out.println("cartItem " + cartItem.getId());}}CookieUtils.setCookie(request, response, "TT_CART", JsonUtils.objectToJson(list));System.out.println("list " + list.size());
是删除不了的,因为ArrayList会记录当前的项的下面,如果你在同一个循环删除。下标就混乱,造成无法删除。
怎么解决呢?我们先把要删除的项放在一个新的数组,然后在和原来数组删除,就可以了,
public TaotaoResult deleteCheck(String item_list, HttpServletRequest request, HttpServletResponse response) {List<CartItem> list = getCartItemList(request, response);List<CartItem> list2 = new ArrayList<>();String[] itemIds = item_list.split(",");int index = 0;for (CartItem cartItem : list) {index++;System.out.println(index);for (int i = 0; i < itemIds.length; i++) {if (cartItem.getId() == Long.parseLong(itemIds[i])) {list2.add(cartItem);}}}list.removeAll(list2);CookieUtils.setCookie(request, response, "TT_CART", JsonUtils.objectToJson(list));System.out.println("list " + list.size());return TaotaoResult.ok();}祝解决。
0 0
- cookie删除购物车里面多个项
- COOKIE购物车
- jq+cookie 购物车
- JS+COOKIE购物车
- 购物车--cookie+ajax
- 购物车cookie
- cookie实现购物车
- Cookie实现 购物车
- cookie实现购物车
- Cookie+DataList实现购物车
- js+cookie+servlet(购物车)
- 使用cookie实现购物车
- 用Cookie实现购物车
- php+cookie 实现购物车
- javascript购物车cookie存取
- 采用Cookie实现 购物车
- Cookie用于商品购物车
- 购物车增加删除
- 简单迷宫算法实现
- 数据库常用命令
- Tomcat 8.5 400错误:Invalid character found in the request target. 问题解决方法
- 3. Longest Substring Without Repeating Characters
- input number 无箭头样式
- cookie删除购物车里面多个项
- 51nod_1088 最长回文子串((Manacher算法)
- Makefile基本语法
- C# 定向计算小工具
- boost-库编译和使用-001
- cmake安装、用法
- oracle system表空间的管理
- android模拟器安装教程
- AOJ 862 平面上最近点对