本文共 3299 字,大约阅读时间需要 10 分钟。
public class User{ private String name; private Integer age; private ContactInfo contactInfo; 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 ContactInfo getContactInfo (){ return contactInfo; } public void setContactInfo(ContactInfo contactInfo){ this.contactInfo = contactInfo; } }
@RequestMapping(value = "object.do")@ResponseBodypublic String object(User user){ return user.toString();}
绑定时我们只需加上声明的对象的变量名就可以了:
http://localhost:8080/object.do?name=jack&age=12&contactInfo.phone=1380013800@RequestMapping(value = "object.do")@ResponseBodypublic String object(User user,Admin admin){ return user.toString()+" "+admin.toString();}@InitBinder("user")public void initUser(WebDataBinder binder){ binder.setFieldDefaultPrefix("user.");}@InitBinder("admin")public void initUser(WebDataBinder binder){ binder.setFieldDefaultPrefix("admin.");}
绑定时我们只需加上声明的对象的前缀就可以了:
http://localhost:8080/object.do?user.name=jack&admin.name=bob@RequestMapping(value = "list.do")@ResponseBodypublic String object(ListuserList){ return userList.toString();}
我们需要声明一个包含List类型属性的类来绑定:
创建一个UserListForm类:public class UserListForm(){ private Listusers; public List getUsers(){ return users; } public void setName(List users){ this.users= users; }
用UserListForm 来绑定数据:
@RequestMapping(value = "list.do")@ResponseBodypublic String object(UserListForm userListForm ){ return userListForm.toString();}
http://localhost:8080/list.do?users[0].name=jack&users[1].name=bob
绑定时要注意下标索引的连续,尽量避免空间的浪费public class UserMapForm(){ private Mapusers; public Map getUserMap(){ return userMap; } public void setUserMap(Map userMap){ this.userMap = userMap; }
用UserMapForm来绑定数据:
@RequestMapping(value = "map.do")@ResponseBodypublic String object(UserMapForm userMapForm ){ return userMapForm .toString();}
http://localhost:8080/list.do?users[‘X’].name=jack&users[‘X’].age=21&users[‘Y’].name=Tom
@RequestMapping(value = "json.do")@ResponseBodypublic String object(@RequestBody User user){ return user.toString();}
@XmlRootElement(name="user")public class User{ private String name; private Integer age; @XmlElement(name="name") public String getName(){ return name; } public void setName(String name){ this.name = name; } @XmlElement(name="age") public Integer getAge(){ return age; } public void setAge(Integer age){ this.age = age; } }
@RequestMapping(value = "xml.do")@ResponseBodypublic String object(@RequestBody User user){ return user.toString();
另外,在开发过程中,对于可能为空的数据,最好使用包装类型。
转载地址:http://qcwrn.baihongyu.com/