• 小项目第四天


    重要的servlet:

    public String load(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    request.setAttribute("order", orderService.load(request.getParameter("oid")));//得到oid传入load方法进行查找
    return "f:/jsps/order/desc.jsp";//转发到desc页面中
    }
    //我的订单
    public String myOrders(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    User user=(User) request.getSession().getAttribute("session_user");//通过session对象拿到user对象
    List<Order> orderList=orderService.myOrders(user.getUid());//通过uid来得到用户的所有的订单
    request.setAttribute("orderList", orderList);//保存到request域中
    return "/jsps/order/list.jsp";//转发到list的页面中
    }
    //把session中的cart对象取出来,生成一个order对象
    public String add(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    //从session中获取cart对象
    Cart cart=(Cart) request.getSession().getAttribute("cart");
    Order order=new Order();//创建order对象
    order.setOid(CommonUtils.uuid());//设置编号
    order.setOrdertime(new Date());//设置下单的时间
    order.setState(1);//设置状态为一,表示未付款
    order.setOwner((User) request.getSession().getAttribute("session_user"));//获得user对象
    order.setTotal(cart.getTotal());//获得订单的合计,从cart中得到

    List<OrderItem> orderItemList=new ArrayList<OrderItem>();//创建cart中的cartItem,并添加到集合中

    for(CartItem cartItem:cart.getCartItems()){
    OrderItem oi=new OrderItem();//创建订单的条目

    oi.setIid(CommonUtils.uuid());//设置条目的id
    oi.setCount(cartItem.getCount());//设置条目的数量
    oi.setBook(cartItem.getBook());//设置条目的图书
    oi.setSubtotal(cartItem.getTatal());//得到条目的小计
    oi.setOrder(order);//设置所属的订单
    orderItemList.add(oi);//把订单条目添加到集合中

    }
    order.setOrderItemList(orderItemList);//把所有的订单添加到订单中

    //清空购物车
    cart.clear();

    orderService.add(order);//添加到订单中

    request.setAttribute("order", order);//保存order到request域中




    return "/jsps/order/desc.jsp";//转发
    }

    jsp:

    <table border="1" width="100%" cellspacing="0" background="black">
    <c:forEach items="${orderList }" var="order">
    <tr bgcolor="gray" bordercolor="gray">
    <td colspan="6">
    订单编号:${order.oid } 成交时间:${order.ordertime } 金额:<font color="red"><b>${order.total }</b></font> 
    <c:choose>
    <c:when test="${order.state eq 1 }"><a href="<c:url value='OrderServlet?method=load&oid=${order.oid }'/>">付款</a></c:when>
    <c:when test="${order.state eq 2 }">等待发货</c:when>
    <c:when test="${order.state eq 3 }"><a href="javascript:alert('已确认收货!');">确认收货</a></c:when>
    <c:when test="${order.state eq 4 }">订单结束</c:when>
    </c:choose>
    </td>
    </tr>
    <c:forEach items="${order.orderItemList }" var="orderItem">
    <tr bordercolor="gray" align="center">
    <td width="15%">
    <div><img src="<c:url value='/${orderItem.book.image }'/>" height="75"/></div>
    </td>
    <td>书名:${orderItem.book.bname }</td>
    <td>单价:${orderItem.book.price }元</td>
    <td>作者:${orderItem.book.author }</td>
    <td>数量:${orderItem.count }</td>
    <td>小计:${orderItem.subtotal }元</td>
    </tr>
    </c:forEach>
    </c:forEach>
    </table>

  • 相关阅读:
    24.Spring-Boot-Actuator与Spring-Security整合应用
    Spring Boot 和 Spring 到底有啥区别?用了这么久,你知道吗?
    一文,5 分钟搞明白 MySQL 是如何利用索引的!
    大厂面试必问的Spring全家桶 4 大开源框架,思维脑图全总结,终于出来了
    这些SQL错误用法,如果经常犯,说明你的水平还很low...
    新技能 MyBatis 千万数据表,快速分页!
    牛逼!在IDEA里搞Spring Boot Mybatis反向工程,太爽咯~
    有了 HTTP 协议,为什么还要 RPC 协议,两者有什么区别?
    把 Spring Cloud 给拆了!详解每个组件的作用,值得收藏!
    27个阿里 Java 开源项目,值得收藏!
  • 原文地址:https://www.cnblogs.com/csnd/p/16675717.html
Copyright © 2020-2023  润新知