springmvc的参数绑定

说说springmvc的参数绑定的类型

1.简单类型

2.pojo

3.数组

4.list

5.map


1.简单类型,要求前台表单的input框的name名必须和参数名相同,而且类型必须能转换,比如前台传过来一个年龄,后台接收时是按照String来接受的再进行转换,如果你传进来的本身就不能转换,则报错。。如果名字不相同的话,需要用“@requestparam” 注解进行说明,此注解中可以设置该参数是不是必须的,设置该参数的默认值等

2.pojo

 前台input框的name名必须和pojo中相同,数量可以对不上 缺少或者多了,但是要想绑定成功,名字必须相等,默认值可以在定义pojo时初始化默认值,如果是pojo中包一个pojo

前台的name可以使  name=pojoB.name这种样子

扫描二维码关注公众号,回复: 945081 查看本文章

3. 数组

前台如果是一个checkbox框,并且name属性值都相同,后台可以用一个数组来接受,数组名必须和前台name属性相等,数组中会自动填充选择的项的值

4.list

list必须放在一个pojo中,比如说有一个名字叫user的pojo ,里面有一个List <dog> list;并设置好get set方法,一般list的作用是想批量上传,本例中是想批量上传dog,

我们再controller中直接写user即可,,前台input框的name属性要写

{

name="list[0].name"

name="list[0].age"


name="list[1].name"

name="list[1].age"

}

意思就是说,我们要指定list的索引和值,我们知道在jsp中点代表查找他的get方法,这里的意思就是,查找参数中的user的 {user.list[0].name}。。。。。。 这样就能

自动的映射到 我们的list中


5.map

map和有两种情况,

1.向list一样,需要批量接受,我们也要将其绑定的一个pojo中,只不过前台要这样写

{

name="map['x'].name"

name="map['x'].age"


name="map['y'].name"

name="map['y'].age"

}                                                           

这样能自动的绑定到map中 key=x,值为dog的,key=y 值为dog内

map的第二种方式,,如果我们需要上传多个参数,但是又不存在这样一个pojo可以包含那些参数,但是参数又比较多,我们可以用map存储成key-value的形式,

参数中可以用  @requestparam  Map<String,String> map  这样来接受,这样前台按照正常方式来传输就好,后台map自动接受





猜你喜欢

转载自blog.csdn.net/woaiqianzhige/article/details/78860359