文档章节

集合的数据绑定

Geeyu
 Geeyu
发布于 2017/02/25 19:45
字数 328
阅读 1
收藏 0

慕课网《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 ...
}

© 著作权归作者所有

共有 人打赏支持
Geeyu
粉丝 2
博文 56
码字总数 30168
作品 0
昌平
Data Binding in UI ( UI 上的 Data Binding )

概述 IOS和Android并没有与Windows商店应用类似的数据绑定的机制,他们的UI更新通常用以下方法实现: IOS IOS通常在ViewController中直接操作UI控件,需要注意的是在非主线程操作UI时,可以用...

小小编辑
2013/12/26
921
0
一句代码实现批量数据绑定[下篇]

《上篇》主要介绍如何通过DataBinder实现批量的数据绑定,以及如何解决常见的数据绑定问题,比如数据的格式化。接下来,我们主要来谈谈DataBinder的设计,看看它是如何做到将作为数据源实体的...

长平狐
2012/09/04
29
0
博文整理(编程技术深入解剖系列--Silverlight,WPF及实战示例)

这个系列主要针对的是Silverlight相关的编程技术,探讨层次比较深入,这里整理了一下,方便大家阅读: WPF架构关键技术剖析(1)--序言 WPF架构关键技术剖析(2)--XAML、对象序列化、类动态实例...

junwong
2012/03/09
0
0
spring 接收json数据 请教

请先参照附图的设计 和前台页面(别笑话我,笑话也没事 :-) ) spring 的controller的方法: @RequestMapping(value = "jsoncreate", method = RequestMethod.POST) @ResponseBody public Ma...

岽茗
2016/01/22
860
10
通过实例模拟ASP.NET MVC的Model绑定的机制:集合+字典

在本系列的前面两篇文章(《简单类型+复杂类型》、《数组》)我们通过创建的实例程序模拟了ASP.NET MVC默认使用的DefaultModelBinder对简单类型、复杂类型以及数组对象的Model绑定。现在我们...

长平狐
2012/09/04
290
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
0
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
2
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部