JavaWeb13---购物车项目部分

购物车项目部分

基本界面(这边需要大家自己去邦值)

完善功能:今天我们完成加入购物车的功能

当我们点击加入购物车时我们需要跳转到逻辑页面,然后把商品编号传过去,根据id绑值

//里面实际内容根据自己实际项目来传值

//接收session
    List<User> lls=(List<User>)session.getAttribute("user");
    //判断
    if(lls==null){//没有登录
        out.print("<script>alert('请先登录');location.href='login.jsp';</script>");    
    }
    else{
    //字符规范
    request.setCharacterEncoding("utf-8");
    //拿到id
    String pid=request.getParameter("gid");
    //调用方法用ssession传值
    IGoodsBiz igb=new GoodsBiz();
    Goods g=igb.getAll(Integer.parseInt(pid));
    //订单项集合
    //解决覆盖问题
    //先那只
    List<GoodsGl> ls=(List<GoodsGl>)session.getAttribute("goods");    
    if(ls==null){//没有拿到值  说明之前购物车是空的
        ls=new ArrayList<GoodsGl>();        
    }
    //解决加同一商品重复问题
    //循环遍历
    boolean f=false;//假设该订单不存在
    for(GoodsGl s:ls){
        //说明存在
        if(s.getSp().getGid()==Integer.parseInt(pid)){
            //数量在原本的基础上加1
            s.setSl(s.getSl()+1);
            //重新计算价格
            s.cart();
            f=true;
            break;
        }
    }    
    if(f==false){
        //形成一个订单项
        GoodsGl gg=new GoodsGl();
        gg.setSp(g);//商品
        gg.setSl(1);//数量
        gg.cart();//计算总价
        //说明不存在
        //把订单项放到集合放进去
        ls.add(gg);
    }
    //用session传值 把集合存到session中
    session.setAttribute("goods", ls);
    //重定向转发
    response.sendRedirect("cart.jsp");
    }

然后拿到集合进行绑值

   <center>
    <table border="1px">
        <tr>
            <td>商品序号</td>
            <td>商品名称</td>
            <td>商品价格</td>
            <td>商品描述</td>
            <td>商品图片</td>
            <td>商品数量</td>
            <td>商品总价</td>
            <td>操作</td>
        </tr>
        <%     
        
        //session接收
        List<GoodsGl> ls=(List<GoodsGl>)session.getAttribute("goods");
        for(GoodsGl g:ls){
        %>
        <tr align="center">
            <td><%=g.getSp().getGid() %></td>
            <td><%=g.getSp().getGname() %></td>
            <td><%=g.getSp().getGprice() %></td>
            <td><%=g.getSp().getGinfo() %></td>
            <td><img src="<%=g.getSp().getGpath() %>"></td>
            <td><input  onfocus="myj(Sting gid)" onblur="myk(String gid)" id="<%=g.getSp().getGid() %>" type="text" value="<%=g.getSl() %>"/></td>
            <td><%=g.getZj()%>元</td>
            <td>
                <a onclick="return confirm('你确定要删除吗')" href="dodelete.jsp?gid=<%=g.getSp().getGid() %>">删除</a>
                <input onclick="myf('<%=g.getSp().getGid()%>')" type="button" value="修改">
            </td>
        </tr>    
        <%
        }
        %>
    </table>
    <div>
        <a href="index.jsp">继续购物</a>
        <a href="bank.jsp">没钱了点这里</a>
    </div>    
    </center>
</body>

这样我们基本的加入购物车就已经完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值