Spring MVC 会按请求参数名和POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。如:dept.deptId、dept.address.tel 等
user.java
package com.weixuan.springmvc.handlers;
public class User {
private String username;
private String passwd;
private String email;
private Integer age;
private Address address;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
@Override
public String toString() {
return "User [username=" + username + ", passwd=" + passwd + ", email="
+ email + ", age=" + age + ", address=" + address + "]";
}
}
address.java
package com.weixuan.springmvc.handlers;
public class Address {
private String province;
private String Ciry;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCiry() {
return Ciry;
}
public void setCiry(String ciry) {
Ciry = ciry;
}
@Override
public String toString() {
return "Address [province=" + province + ", Ciry=" + Ciry + "]";
}
}
form表单
<form action="springmvc/TestPojo" method="post">
username:<input type="text" name="username" /><br> <br>
passwd:<input type="password" name="passwd" /><br> <br>
email:<input type="text" name="email" /><br> <br>
age:<input type="text" name="age" /><br> <br>
ciry:<input type="text" name="address.Ciry"><br> <br>
province:<input type="text" name="address.province"><br> <br>
<input type="submit" value="Submit" />
</form>
controller
@RequestMapping("/TestPojo")
public String TestPojo(User user) {
System.out.println("TestPojo :"+user);
return SUCCESS;
}