【Spring MVC】复杂数据绑定

实体类

  

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                  http://www.springframework.org/schema/beans/spring-beans.xsd
                  http://www.springframework.org/schema/mvc
                  http://www.springframework.org/schema/mvc/spring-mvc.xsd
                  http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 配置springMVC需要扫描的包 -->
    <context:component-scan base-package="com.xiaobiti.controller"/>
    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="WEB-INF/pages"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <!-- 配置注解驱动 -->
    <mvc:annotation-driven />
    <!-- 配置静态资源访问映射,此配置中的文件将不被拦截器拦截 -->
    <!-- mapping匹配全部静态资源文件,location匹配静态资源文件路径-->
    <mvc:resources mapping="/js/**" location="/js/"/>
</beans>

 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>

 

posted @ 2023-04-11 16:13  小鼻涕孩  阅读(61)  评论(0)    收藏  举报