删除购物车列表页面商品

一、实现思路

  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"; } }

 

转载于:https://www.cnblogs.com/huclouy/p/9500563.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值