MVC购物车第二部分

今天我们来完成昨天未完成的订单结算和查看订单部分吧

老样子我们先看看效果图吧

 可以看到当前我们是有商品的,当我们点击订单结算时

当我们点击查看订单时,我们会看到之前购买过的商品总价 

点击查看详情,我们可以看到一次买的所有商品

 

一、订单结算

需要的数据

  1. 购物车数据
  2. 用户id

但是他们都在session里面,所以我们在跳转页面的时候是不需要带的

那么什么是订单结算嘞?

就是将购物车数据添加到订单表和订单项表之中

怎么制作订单结算呢?

从购物车跳转calc.do(这是路径,实际我们需要写一个实现这个功能的类——CalcServlet.java)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib  prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/css/bootstrap.css">
    <script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script>
    <script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/bootstrap.js"></script>
    <meta name="viewport" content="width=device-width,initial-scale=1">
   
<title>我的购物车</title>
</head>
<body>
<div class="container">
	<h1>
		${user.account} 您好, <small>这是购物车</small>
	</h1>
	<h1>
		<a href="index.do" class="btn btn-default">继续购买</a>
		<a href="calc.do" class="btn btn-default">订单结算</a>
		<a href="order.do" class="btn btn-default">查看订单</a>
	    <a href="clear.do" class="btn btn-default">清空🛒</a>
	</h1>
	<table class="table table-bordered table-striped">
		<tbody><tr>
			<th>商品编号</th>
			<th>商品名称</th>
			<th>商品数量</th>
			<th>商品总价</th>
			<th>商品操作</th>
		</tr>
		<c:forEach items="${car }" var="item">
		
		<tr>
			<td>${item.goods.id }</td>
			<td>${item.goods.name}</td>
			<td>${item.quantity  }</td>
			<td>${item.total}</td>
			<td>
			<a href="del.do?id=${item.goods.id }" class="btn btn-default">删除</a>
			<a href="upd.do?id=${item.goods.id }&type=1" class="btn btn-default">+1</a>
			<a href="upd.do?id=${item.goods.id }&type=-1" class="btn btn-default">-1</a>
			</td>
		</tr>
		</c:forEach>
	</tbody></table>
	<h1>
	   total:${total }
	</h1>
	</div>

</body></html>

先创建一个订单实体类(Order)和订单项实体类(OrderItem)

package com.zking.pojo;

public class Order {

	private Integer id;
	private Integer userId;
	private Integer total;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Integer getUserId() {
		return userId;
	}
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	public Integer getTotal() {
		return total;
	}
	public void setTotal(Integer total) {
		this.total = total;
	}
	public Order(Integer id, Integer userId, Integer total) {
		super();
		this.id = id;
		this.userId = userId;
		this.total = total;
	}
	public Order() {
		// TODO Auto-generated constructor stub
	}
	@Override
	public String toString() {
		return "Order [id=" + id + ", userId=" + userId + ", total=" + total + "]";
	}
	
	
	
}
package c
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值