javaweb中将购物车里的信息提交并传到订单查询界面中的代码
时间: 2024-02-27 17:58:42 浏览: 87
下面是一个简单的JavaWeb示例代码,演示如何将购物车里的信息提交并传到订单查询界面中:
购物车页面(cart.jsp):
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>购物车</title>
</head>
<body>
<h1>购物车</h1>
<table border="1">
<tr>
<th>商品名称</th>
<th>价格</th>
<th>数量</th>
</tr>
<c:forEach items="${cart.items}" var="item">
<tr>
<td>${item.name}</td>
<td>${item.price}</td>
<td>${item.quantity}</td>
</tr>
</c:forEach>
</table>
<form action="order.jsp" method="post">
<input type="submit" value="提交订单">
</form>
</body>
</html>
```
订单查询页面(order.jsp):
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>订单查询</title>
</head>
<body>
<h1>订单查询</h1>
<h2>订单信息</h2>
<table border="1">
<tr>
<th>商品名称</th>
<th>价格</th>
<th>数量</th>
</tr>
<c:forEach items="${cart.items}" var="item">
<tr>
<td>${item.name}</td>
<td>${item.price}</td>
<td>${item.quantity}</td>
</tr>
</c:forEach>
</table>
<h2>订单状态</h2>
<p>订单号:${order.orderNo}</p>
<p>订单状态:${order.status}</p>
</body>
</html>
```
购物车实体类(CartItem.java):
```java
public class CartItem {
private String name;
private double price;
private int quantity;
// 省略getter和setter方法
}
```
购物车类(Cart.java):
```java
public class Cart {
private List<CartItem> items = new ArrayList<>();
public void addItem(CartItem item) {
items.add(item);
}
public List<CartItem> getItems() {
return items;
}
}
```
订单实体类(Order.java):
```java
public class Order {
private String orderNo;
private String status;
// 省略getter和setter方法
}
```
Servlet类(OrderServlet.java):
```java
@WebServlet("/order")
public class OrderServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 从Session中获取购物车实体类
Cart cart = (Cart) req.getSession().getAttribute("cart");
// 创建订单实体类
Order order = new Order();
order.setOrderNo("123456");
order.setStatus("已发货");
// 将订单实体类存储到Session中
req.getSession().setAttribute("order", order);
// 转发到订单查询页面
req.getRequestDispatcher("/order.jsp").forward(req, resp);
}
}
```
在购物车页面中,使用JSTL标签库遍历购物车实体类中的商品信息,并提供一个表单用于提交订单。在订单查询页面中,同样使用JSTL标签库遍历购物车实体类中的商品信息,并显示订单状态。
在Servlet类中,先从Session中获取购物车实体类,然后创建订单实体类并将其存储到Session中,最后通过转发将控制权交给订单查询页面。需要注意的是,在实际应用中,需要对数据进行验证和防止数据篡改等安全措施。
阅读全文