• 删除购物车列表页面商品


    一、实现思路

      1、从前台页面传进来itemId。

      2、从cookie中取所有商品的列表。

      3、删除itemId对应的商品。

      4、将商品列表再传回cookie中,并响应给浏览器。

    二、jsp页面删除代码

      1、请求url : /cart/delete/${cart.id}.html

    <div class="cell p-remove"><a id="remove-11345721-1" data-more="removed-87.20-1" clstag="clickcart|keycount|xincart|btndel318558" class="cart-remove" href="/cart/delete/${cart.id}.html">删除</a>

    三、service层代码

    @Service
    public class CartServiceImpl implements CartService {
    
        @Autowired
        private ItemService itemService;
        @Value("${COOKIE_EXPIRE}")
        private Integer COOKIE_EXPIRE;
    
       ......
    
        @Override
        public TaotaoResult deleteCartItem(Long itemId, HttpServletRequest request, HttpServletResponse response) {
            List<CartItem> lists = getCartLists(request);
            for (CartItem c : lists) {
                if(c.getId().longValue() == itemId) {
                    lists.remove(c);
                    break;
                }
            }
            CookieUtils.setCookie(request, response,"TT_CART",JsonUtils.objectToJson(lists), COOKIE_EXPIRE, true);
            return TaotaoResult.ok();
        }
    }

    四、controller层代码,重定向到cart.jsp页面。

    @Controller
    public class CartController {
    
        @Autowired
        private CartService cartService;
      .......
    @RequestMapping("/cart/cart") public String showCart(HttpServletRequest request, Model model) { List<CartItem> cartLists = cartService.getCartLists(request); model.addAttribute("cartList", cartLists); return "cart"; } ....... @RequestMapping("/cart/delete/{itemId}") public String deleteCartItem(@PathVariable Long itemId,HttpServletRequest request,HttpServletResponse response) { cartService.deleteCartItem(itemId, request, response); return "redirect:/cart/cart.html"; } }
  • 相关阅读:
    Gin 使用 websocket
    7天用Go从零实现Web框架Gee教程
    docker-compose 搭建 Redis Sentinel 测试环境
    关闭禁用 Redis 危险命令
    Redis Cluster 设置密码
    使用 twine 上传自己的 python 包到 pypi
    Redis 5.0.7 讲解,单机、集群模式搭建
    Redis 单机模式,主从模式,哨兵模式(sentinel),集群模式(cluster),第三方模式优缺点分析
    django 重写 mysql 连接库实现连接池
    编译安装httpd-2.4
  • 原文地址:https://www.cnblogs.com/huclouy/p/9500563.html
Copyright © 2020-2023  润新知