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这种样子
- 数组
前台如果是一个checkbox框,并且name属性值都相同,后台可以用一个数组来接受,数组名必须和前台name属性相等,数组中会自动填充选择的项的值
4.list
list必须放在一个pojo中,比如说有一个名字叫user的pojo ,里面有一个List
我们再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
还没有评论,来说两句吧...