包装POJO,就是在一个POJO中包含另一个简单的POJO、
例如,在订单对象中包含用户对象。这样在使用时,就可以通过订单查询到用户信息。
可以让程序没有那么复杂
一、 首先包装
package org.chen.dao;
public class Orders {
private Integer ordersId;//订单编号
private User user;
public Integer getOrdersId() {
return ordersId;
}
public void setOrdersId(Integer ordersId) {
this.ordersId = ordersId;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
第二 控制类
import org.chen.dao.Orders;
import org.chen.dao.User;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class OrderController {
@RequestMapping("/tofindOrdersWithUser")
public String tofindOrdersWithUser(){
//首先通过注解打开视图,然后进入orders的视图页面
return "orders";
}
//输入之后, findOrderWithUser()接收数据
@RequestMapping("/findOrdersWithUSer")
public String findOrdersWithUSer(Orders orders){
//该方法把输入的Id和用户名 输出到控制台
Integer ordersId =orders.getOrdersId();
User user =orders.getUser();
String loginname =user.getLoginname();
System.out.println("order="+ordersId);
System.out.println("user="+loginname);
return "success";
}
}
第三:视图层
<%--
Created by IntelliJ IDEA.
User: 陈
Date: 2022/11/20
Time: 12:30
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>订单查询页面</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/findOrdersWithUSer" method="post"> //数据将传回findOrdersWithUSer中
订单id:<input type="text" name="ordersId" > <br/>
用&户&名<input type="text" name="user.loginname"><br/>
<input type="submit" value="查询">
</form>
</body>
</html>
跳转至成功页面控制台输出