【Spring MVC】复杂数据绑定

发布时间 2023-04-11 16:17:06作者: 小鼻涕孩

实体类

  

 

 

 UserController.java

package com.xiaobiti.controller;

import com.xiaobiti.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;

@Controller
public class UserController {
    /**
     * 获得用户和订单信息
     * */
    @RequestMapping("/getOrderAndUser")
    public void getOrderAndUser(User user){
        System.out.println(user);
    }
}

OrderController.java

package com.xiaobiti.controller;

import com.xiaobiti.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class OrderController {
    @RequestMapping("/getUserAndOrder")
    public void getUserAndOrder(User user){
        System.out.println(user);
    }
}

跳转测试页面代码order.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    项目路径:${pageContext.request.contextPath}
    <form method="post" action="${pageContext.request.contextPath}/getOrderAndUser">
        所属用户:<input type="text" name="username"><br>
        订单编号:<input type="text" name="order.orderId"><br>
        <input type="submit" value="查询">
    </form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    项目路径:${pageContext.request.contextPath}
    <form action="${pageContext.request.contextPath}/getUserAndOrder" method="post">
         <table width="200px" border="1">
                    <tr>
                        <td>订单号</td><td>订单名称</td><td>配送地址</td>
                    </tr>
                    <tr>
                        <td><input type="text" name="orders[0].orderId" value="1"></td>
                        <td><input type="text" name="orders[0].orderName" value="java基础"></td>
                        <td><input type="text" name="address" value="南宁市西乡塘区"></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="orders[1].orderId" value="2"></td>
                        <td><input type="text" name="orders[1].orderName" value="javaWeb"></td>
                        <td><input type="text" name="address" value="南宁市江南区"></td>
                    </tr>
                    <tr>
                        <td><input type="text" name="orders[2].orderId" value="3"></td>
                        <td><input type="text" name="orders[2].orderName" value="ssm"></td>
                        <td><input type="text" name="address" value="南宁市青秀区"></td>
                    </tr>
                </table>
                <input type="submit" value="提交订单信息">
    </form>    
</body>
</html>