1 首先寫兩個javabean對象 person 和 address 代碼如下。兩個類之間的關系如代碼中
package cn.bean.demo.bo; public class Person { private String name; private String number; private String sex; private String age; private Address address; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } @Override public String toString() { return "Person [name=" + name + ", number=" + number + ", sex=" + sex + ", age=" + age + ", address=" + address + "]"; } }
package cn.bean.demo.bo; public class Address { private String city; private String province; public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } @Override public String toString() { return "Address [city=" + city + ", province=" + province + "]"; } }
2 編寫控制器 使用person來作為請求參數
package cn.bean.demo.service; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import cn.bean.demo.bo.Person; @Controller @RequestMapping("/PojoService") public class PojoService { public final static String SUCCEEDD="show"; @RequestMapping(value="/testPojo",method=RequestMethod.POST) public String testPojo(Person person){ System.out.println("testPojo person :"+person); System.out.println(person.getAddress()); return SUCCEEDD; } }
3 寫測試類:可以用httpclient來模擬。 我這使用表單進行測試的。 表單代碼
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="PojoService/testPojo" method="post"> username:<input type="text" name="name"/> <br> number: <input type="text" name="number"/> <br> sex: <input type="text" name="sex"/> <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="subit"/> </form> </body> </html>
測試:
點擊提交:為了方便看到控制器中的對象 ,進行斷點。
表單中的屬性都已經被填充到person對象中
繼續向下 看到address對象
已經都被賦值成功