首先建立POJO类
public class User {
private String name;
private Integer age;
private Address address;
public User() {
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
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 [name=" + name + ", age=" + age + ", address=" + address
+ "]";
}
}
User类中有个关联类Address
public class Address {
private String province;
private String city;
public Address() {
// TODO Auto-generated constructor stub
}
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 + "]";
}
}
前端的表格代码
<form action="springmvc/testPojo" method="post">
name:<input type="text" name="name" value="andy">
age:<input type="text" name="age" value="12">
province:<input type="text" name="address.province" value="hunan">
city:<input type="text" name="address.city" value="cs">
<input type="submit" >
</form><br>
controller的调用
@Controller
@RequestMapping("/springmvc")
public class TestSpringMVC {
private static final String SUCCESS = "success";
@RequestMapping("/testPojo")
public String testPojo(User user){
System.out.println(user);
return SUCCESS;
}
}
结果:
User [name=andy, age=12, address=Address [province=hunan, city=cs]]
测试总结:
如果想要前端数据自动封装到对象中,要有set、get方法,也要保持名字一致