重要的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>