集合的数据绑定
博客专区 > Geeyu 的博客 > 博客详情
集合的数据绑定
Geeyu 发表于10个月前
集合的数据绑定
  • 发表于 10个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

> 慕课网《SpringMVC数据绑定入门》笔记

List

  将表单数据绑定到后台List对象,只能绑定到类型是List的属性上面

url:...?users[0].name=Tom&users[20].name=Jerry

//这种方法是错误的
[@Controller](https://my.oschina.net/u/1774615)
public String list(List<User> users){
	return ...
}

  需要定义一个对象来接

class UsersListForm{
	private List<User> users;
}

[@Controller](https://my.oschina.net/u/1774615)
public String list(UsersListForm userListForm){
	//表单数据会绑定到userListForm的users属性上
	return ...
}

  需要注意的是,users接收到的数组大小,例如上面虽然只有两个name,但是后台的users.size()却是20.

Set

  相对于List,Set需要先初始化,在实际应用中,Set大部分是用于对象的重复判断和排除重复。

class UserSetForm{
	private Set<User> users;
	//初始化
	static{
		users.add(user1);
		users.add(user2);
		...
	}
}

[@Controller](https://my.oschina.net/u/1774615)
public String set(UserSetForm userSetForm){
	//表单数据会绑定到userSetForm的users属性上
	return ...
}

  可以重写hashCode()和equals()方法,达到排重的目的。但SpringMVC对Set支持不友好,必须先初始化users的size(),如果不等于表单提交的size()就会报异常,因此对于集合,还是用List 的好。

Map

url:...?users["key"].name=Tom&...

class UserMapForm{
	private Map<String, User> users;
}

[@Controller](https://my.oschina.net/u/1774615)
public String set(UserMapForm, userMapForm){
	//表单数据会绑定到userMapForm的users属性上
	return ...
}
共有 人打赏支持
粉丝 2
博文 47
码字总数 25497
×
Geeyu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: