一:使用POJO绑定请求参数值
- SpringMVC会按照请求参数名跟POJO属性名进行自动匹配,自动为该对象填充属性值,支持级联属性(Address.street等)
二:代码实现
1.创建实体类User和Address.
package com.dhx.pojo;
public class Address {
private String city;
private String street;
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
@Override
public String toString() {
return "Address [city=" + city + ", street=" + street + "]";
}
}
package com.dhx.pojo;
public class User {
private String name;
private String password;
private int age;
private String email;
private Address address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
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 [name=" + name + ", password=" + password + ", age=" + age + ", email=" + email + ", address="
+ address + "]";
}
}
2.测试方法
private final String SUCCESS="success";
/*
* SpringMVC会按照请求参数名跟POJO属性名进行自动匹配
* 自动为该对象填充属性值
* 支持级联属性(Address.street等)
*/
@RequestMapping("testPojo")
public String testPojo(User user) {
System.out.println("testPojo"+user);
return SUCCESS;
}
3.测试页面
<form action="spring/testPojo" method="post">
name:<input type="text" name="name">
<br>
age:<input type="text" name="age">
<br>
password:<input type="password" name="password">
<br>
email:<input type="text" name="email">
<br>
city:<input type="text" name="Address.city">
<br>
street:<input type="text" name="Address.street">
<br>
<input type="submit" value="submit">
</form>