购物车总结

1、添加到购物车,servlet最后是请求转发到界面,还是重定向到界面。

建议使用重定向。如果是请求转发到界面会引发如下问题:

刚添加完一个商品,

 如果此时重新加载界面

数量变成2了 

 

2、jsp中的<c:foreach>如何遍历 Cart中的  Map<String, CartItem> map = new HashMap<String, CartItem>();

在Cart中提供 getCollection()方法,

    //为 cart.jsp 的c:forch 提供集合
    public Collection<CartItem> getCollection(){
        return  map.values();
    } 

jsp中 <c:forEach items="${sessionScope.cart.collection }" var="cartItem">

注意:cart.collection 实际上是执行 Cart中的getCollection方法。即使 get+Collection( get+collection首字母变成大写)

 

3、javascript 提交 from 表单

    <script type="text/javascript">
            $(function(){
                $("#submitBtn").click(function(){
                    var from1 = document.getElementById("form1");
                    //可以设置 form1.action= ""   form1.method="post"
                    form1.submit();
                });
            });
        </script>

     点击超链接提交form表单

    <a href="javascript:document.getElementById('orderForm').submit();">
          <img src="${pageContext.request.contextPath}/img/finalbutton.gif" width="204" height="51" border="0" />
    </a>

4、超链接形式的删除

<a href="javascript:;" class="delete" id="${cartItem.product.pid }">删除</a>

因为删除时候需要产品id,所以直接在超链接添加 id 属性的值为产品pid

可用  .class 获取该超链接

        $(function(){
            $(".delete").click(function(){
                if(confirm("确认删除")){
                    window.location.href = "${pageContext.request.contextPath}/CartServlet?method=deleteCartItem&pid="+this.id;
                }
            });
        });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值