zoukankan      html  css  js  c++  java
  • 案例27-购物车删除单一商品

    1 delProductFromCart  删除单一商品

    //6 删除单一商品
        
        public void delProductFromCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
            //获得要删除的item的pid
            String pid = request.getParameter("pid");
            
            //删除session中的购物车中的购物项集合中的item
            HttpSession session = request.getSession();
            Cart cart = (Cart) session.getAttribute("cart");
            
            if(cart!=null){
                Map<String, CartItem> cartItems = cart.getCartItems();
                //修改总价
                cart.setTotal(cart.getTotal()-cartItems.get(pid).getSubtotal());
                cartItems.remove(pid);
                cart.setCartItems(cartItems);
            }
            
            session.setAttribute("cart", cart);
            
            //跳转回购物车
            response.sendRedirect(request.getContextPath()+"/cart.jsp");
      
        }

    2 cart.jsp代码

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>黑马商城购物车</title>
    <link rel="stylesheet" href="css/bootstrap.min.css" type="text/css" />
    <script src="js/jquery-1.11.3.min.js" type="text/javascript"></script>
    <script src="js/bootstrap.min.js" type="text/javascript"></script>
    <!-- 引入自定义css文件 style.css -->
    <link rel="stylesheet" href="css/style.css" type="text/css" />
    <style>
    body {
        margin-top: 20px;
        margin: 0 auto;
    }
    
    .carousel-inner .item img {
        width: 100%;
        height: 300px;
    }
    
    font {
        color: #3164af;
        font-size: 18px;
        font-weight: normal;
        padding: 0 10px;
    }
    </style>
    <script type="text/javascript">
        function delProductFromCart(pid) {
            if(confirm("你是否要删除该项")){
                location.href="${pageContext.request.contextPath}/product?method=delProductFromCart&pid="+pid;
            }
        }
    </script>
    </head>
    
    <body>
        <!-- 引入header.jsp -->
        <jsp:include page="/header.jsp"></jsp:include>
    
        <!-- 判断购物车中是否还有商品,有商品显示商品,没有商品显示小兔子 -->
        <c:if test="${!empty cart.cartItems }">
            <div class="container">
                <div class="row">
        
                    <div style="margin: 0 auto; margin-top: 10px;  950px;">
                        <strong style="font-size: 16px; margin: 5px 0;">订单详情</strong>
                        <table class="table table-bordered">
                            <tbody>
                                <tr class="warning">
                                    <th>图片</th>
                                    <th>商品</th>
                                    <th>价格</th>
                                    <th>数量</th>
                                    <th>小计</th>
                                    <th>操作</th>
                                </tr>
        
                                <c:forEach items="${cart.cartItems }" var="entry">
                                    <tr class="active">
                                        <td width="60" width="40%"><input type="hidden" name="id"
                                            value="22"> <img src="${pageContext.request.contextPath }/${entry.value.product.pimage}" 
                                            width="70"  height="60"></td> 
                                             <!--${cart.cartItems }获得是Map<String,CartItem> 
                                                 entry.value获得是CartItem
                                                entry.value.product获得product
                                               -->
                                        <td width="30%"><a target="_blank"> ${entry.value.product.pname}</a></td>
                                        <td width="20%">¥${entry.value.product.shop_price}</td>
                                        <td width="10%">
                                            ${entry.value.buyNum }
                                        </td>
                                        <td width="15%"><span class="subtotal">¥${entry.value.subtotal }</span></td>
                                        <!-- '${entry.value.product.pid}'必须要加单引号 不加单引号认为是一个变量  加了才会认为是一个字符串 -->
                                        <td><a href="javascript:void(0);" class="delete" onclick="delProductFromCart('${entry.value.product.pid}')">删除</a></td>
                                    </tr>
                                </c:forEach>
        
        
                            </tbody>
                        </table>
                    </div>
                </div>
        
                <div style="margin-right: 130px;">
                    <div style="text-align: right;">
                        <em style="color: #ff6600;"> 登录后确认是否享有优惠&nbsp;&nbsp; </em> 赠送积分: <em
                            style="color: #ff6600;">${cart.total }</em>&nbsp; 商品金额: <strong
                            style="color: #ff6600;">¥${cart.total }元</strong>
                    </div>
                    <div
                        style="text-align: right; margin-top: 10px; margin-bottom: 10px;">
                        <a href="order_info.htm" id="clear" class="clear">清空购物车</a> <a
                            href="order_info.htm"> <input type="submit" width="100"
                            value="提交订单" name="submit" border="0"
                            style="background: url('./images/register.gif') no-repeat scroll 0 0 rgba(0, 0, 0, 0); height: 35px;  100px; color: white;">
                        </a>
                    </div>
                </div>
        
            </div>
        </c:if>
        <c:if test="${empty cart.cartItems }">
            <div>
                <img alt="" src="${pageContext.request.contextPath }/images/cart-empty.png">
                <a href="${pageContext.request.contextPath }" style="height: 10px; 20px;background-color: red;">返回首页</a>
            </div>
        </c:if>
        
        <!-- 引入footer.jsp -->
        <jsp:include page="/footer.jsp" ></jsp:include>
    
    </body>
    
    </html>
  • 相关阅读:
    linux网络配置
    第二章 以太网和数据封装
    linux用户权限
    第一章 网络互联
    linux学习之文件系统
    史上最全Java学习视频下载地址分享
    JAVA高级特性之集合
    Map集合不继承Collection接口,(HashMap类和TreeMap类)---输出结果,如果将Key值修改为首位不为0,HashMap输出就是随机顺序的,求指导,为什么为会这样???
    java中this关键字
    Java long数据类型---网上学习到的资料
  • 原文地址:https://www.cnblogs.com/jepson6669/p/8447504.html
Copyright © 2011-2022 走看看