List数据绑定
/**
* list集合的数据绑定
* @param userListForm
* @return
* http://localhost:8080/userList.do?list[0].name=Lily&list[1].name=Tom
*/
@RequestMapping("userList.do")
@ResponseBody
public String list(UserListForm userListForm){
return userListForm.toString();
}
/**
* TODO: 用户List集合
**/
public class UserListForm {
private List<User> list;
public List<User> getList() {
return list;
}
public void setList(List<User> list) {
this.list = list;
}
@Override
public String toString() {
return "UserListForm{" +
"list=" + list +
'}';
}
}
值得注意的一点:springMVC不支持List类型直接转换,需要封装成Object,
public String list(List uList)这种写法是不对的
需要自己写一个类,这个类里面的某个属性是一个List集合
如:
public class UserListForm(
private List uList;
)
Set数据绑定
/**
* set集合的数据绑定
* set集合数据绑定要先初始化
* @param userSet
* @return
* http://localhost:8080/userSet.do?set[0].name=Lily&set[1].name=Tom
*/
@RequestMapping("userSet.do")
@ResponseBody
public String set(UserSet userSet){
return userSet.toString();
}
/**
* TODO: set集合数据绑定
**/
public class UserSet {
private Set<User> set;
public UserSet(){
set = new LinkedHashSet<User>();
set.add(new User());
set.add(new User());
}
public Set<User> getSet() {
return set;
}
public void setSet(Set<User> set) {
this.set = set;
}
@Override
public String toString() {
return "UserSet{" +
"set=" + set +
'}';
}
}
同样,springMVC对Set的支持也不太好,需要封装成Object对象来调用,
而且在调用的时候,要想对set进行初始化
set具有排重的功能,要使用排重功能的时候,要重写set的hashcode和equals方法
初始化进行排重时会导致size变小,致使无法接受更多的数据而抛出异常,所以我们开发一般优先使用List(List不用初始化)
map数据绑定
/**
* map集合的数据绑定
* @param userMap
* @return
* http://localhost:8080/userMap.do?maps['X'].name=Tom&maps['X'].age=10&maps['Y'].name=Lucy
*/
@RequestMapping("userMap.do")
@ResponseBody
public String map(UserMap userMap){
return userMap.toString();
}
/**
* TODO: map集合的数据绑定
**/
public class UserMap {
private Map<String,User> maps ;
public Map<String, User> getMaps() {
return maps;
}
public void setMaps(Map<String, User> maps) {
this.maps = maps;
}
@Override
public String toString() {
return "UserMap{" +
"maps=" + maps +
'}';
}
}
springMVC数据绑定【一】——基本类型、包装类型、数组绑定
springMVC数据绑定【二】——简单对象、多层级对象和同对象数据绑定
springMVC数据绑定【四】——Json和XML