victory的博客

长安一片月,万户捣衣声

0%

基于JavaWeb的网上购物商城 | 清空购物车

清空购物车

实现功能:
用户点击购物车中的清空购物车链接时,删除所有购物项,总金额清零。

cart.jsp
为清空购物车链接增加onclick属性,并使用js实现clearCart方法。

<a href="#" id="clear" class="clear" onclick="clearCart()">清空购物车</a>
......
<script type="text/javascript">
    function clearCart(){
        location.href="${pageContext.request.contextPath}/product?method=clearCart";
    }
</script>

ProductServlet.java
在ProductServlet.java的doGet方法中添加clearCart的判断,并完成clearCart方法。

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String method = request.getParameter("method");
    if("getProById".equals(method)) {
        getProById(request, response);
    }else if("findListByCate".equals(method)) {
        findListByCate(request, response);
    }else if("cart".equals(method)) {
        cart(request, response);
    }else if("delCart".equals(method)) {
        delCart(request, response);
    }else if("clearCart".equals(method)) {
        clearCart(request, response);
    }
}

public void clearCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //获取购物车
    HttpSession session = request.getSession();
    Cart cart = (Cart) session.getAttribute("cart");
    
    cart.setMap(new HashMap<>());//删除所有购物项
    cart.setSubMoney(0.0);//总金额清零
    
    //返回购物车页面
    request.getRequestDispatcher("/cart.jsp").forward(request, response);
}