SpringMVC之使用 POJO 对象绑定请求参数值

简介: SpringMVC之使用 POJO 对象绑定请求参数值

Spring MVC 会按求参数名和 POJO 属性名行自


配,自动为该对象填充属性支持级联属性


如:dept.deptIddept.address.tel


示例:


User实体类


package com.led.entities;
/**
 * @author Alan
 * @date 2018/5/26 15:02
 */
public class User {
    private String username;
    private String password;
    private int age;
    private String email;
    private Address address;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Address getAddress() {
        return address;
    }
    public void setAddress(Address address) {
        this.address = address;
    }
    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", age=" + age +
                ", email='" + email + '\'' +
                ", address=" + address +
                '}';
    }
}


Address实体类

package com.led.entities;
/**
 * @author Alan
 * @date 2018/5/26 15:04
 */
public class Address {
    private String province;
    private String city;
    public String getProvince() {
        return province;
    }
    public void setProvince(String province) {
        this.province = province;
    }
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }
}


处理类:

package com.led.test;
import com.led.entities.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
 * @author Alan
 * @date 2018/5/25 22:03
 */
@Controller
@RequestMapping("/test")
public class SpringMVCTest {
    private static final String SUCCESS = "success";
    @RequestMapping("/testPojo")
    public String testPojo(User user){
        System.out.println("User: " + user);
        return SUCCESS;
    }
}


jsp页面:

<form action="test/testPojo" method="post">
    username:<input type="text" name="username"/><br>
    password:<input type="password" name="password"/><br>
    email:<input type="text" name="email"/><br>
    age:<input type="text" name="age"/><br>
    province:<input type="text" name="address.province"/><br>
    city:<input type="text" name="address.city"/><br>
    <input type="submit" value="submit">
</form>


运行项目,输入信息:



点击提交按钮,控制台输出:


User: User{username='xiaoming', password='123456', age=11, email='1212@qq.com', address=Address{province='xizang', city='lasa'}}

 


相关文章
|
6月前
SpringMVC 域对象共享数据
SpringMVC 域对象共享数据
30 0
|
6月前
|
JSON 前端开发 JavaScript
JAVAEE框架技术之5-springMVC参数绑定和异步交互
JAVAEE框架技术之5-springMVC参数绑定和异步交互
73 0
JAVAEE框架技术之5-springMVC参数绑定和异步交互
|
6月前
【SpringMVC】SpringMVC方式,向作用域对象共享数据(ModelAndView、Model、map、ModelMap)
【SpringMVC】SpringMVC方式,向作用域对象共享数据(ModelAndView、Model、map、ModelMap)
66 1
|
6月前
|
JSON 前端开发 Java
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!
|
6月前
SpringMVC之获取请求参数和域对象共享数据
【1月更文挑战第18天】 一、SpringMVC获取请求参数 1、通过ServletAPI获取 2、通过控制器方法的形参获取请求参数 3、@RequestParam 4、@RequestHeader 5、@CookieValue 6、通过POJO获取请求参数 7、解决获取请求参数的乱码问题 二、域对象共享数据 1、使用ServletAPI向request域对象共享数据 2、使用ModelAndView向request域对象共享数据 3、使用Model向request域对象共享数据 4、使用map向request域对象共享数据 5、使用ModelMap向request域对象共享数据
106 0
|
6月前
|
前端开发 Java 应用服务中间件
SpringMVC源码分析之策略对象初始化
SpringMVC源码分析之策略对象初始化
62 0
|
6月前
|
Java Spring
SpringMVC控制层private方法中出现注入的service对象空指针异常
一、现象 SpringMVC中controller里的private接口中注入的service层的bean为null,而同一个controller中访问修饰符为public和protected的方法不会出现这样的问题。 controller中的方法被AOP进行了代理,普通Controller如果没有AOP,private方法中bean也是正常的。
|
Java 容器
SpringMVC中参数是如何绑定and返回结果是如何解析的?
SpringMVC中参数是如何绑定and返回结果是如何解析的?
79 0
|
Java Spring
springMVC中获取request 对象
springMVC中获取request 对象
|
6月前
|
设计模式 前端开发 JavaScript
Spring MVC(一)【什么是Spring MVC】
Spring MVC(一)【什么是Spring MVC】