码迷,mamicode.com
首页 > 其他好文 > 详细

参数绑定

时间:2016-11-25 01:05:57      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:字符   字符串   required   表单   http   转化   执行   使用   提交   

数据类型的绑定

什么叫做数据类型的绑定?
类似于struts的参数注入,从客户端请求key/value数据,通过参数绑定,把key/value绑定在Controller方法的形参上。
springmvc中,接受页面提交的数据是通过方法行形参来接收,而不是在controller类定义成员变量接受!!!!
执行流程:
客户端请求key/value --->处理器适配器提供参数绑定组件将key/value数据转化成controller方法的形参。参数绑定组件:在springmvc早起版本使用PropertyEditor(只能将字符串转化为java对象),后期使用converter(进行任意类型的转换),springmvc提供了很多controller,在特殊情况下需要自定义controller,例如日期数据绑定

默认支持绑定的类型:
直接在controller方法形参上定义下边2类型的对象,就可以使用这些对象。在参数绑定过程中,如果玉带下边类型直接绑定。
1、HttpServletRequest
2、HttpServletResponse
3、HttpSession
4、Model/ModelMap
为什么上面的可以直接绑定呢?我们知道springmvc是基于Servlet的,所以servletDispatcher中直接能得到的request、response、session就可以直接绑定了。我们查看源码发现,model的作用是将数据填充到request域,也就是说类似于一个缓存区一样,modelMap是model接口的实现类,所以model和modelMap可以直接绑定。

简单类型的绑定
1、直接绑定
要求controller形参名和request中的传入参数名一致。
2、使用@RequestParam注解
不需要形参名和request传入参数名一致
作用于参数,三个属性:value(必选),defaultValue(可选),required(可选)
value的值为request中的传入参数名,绑定注解作用的那个变量
required的值为true的时候框架会给我们加一个validate验证,如果该参数没有传入报错400不能没有指定参数
defaultValue都懂
小例子:
@ResultMapping(value="/editItems",method={RequestMethod.POST,RequestMethod.GET})
public String editItems(Model model,@RequestParam(value="id",required=true) Integer items_id) throws Exception{
//...
}

POJO类型的绑定
只有表单元素的name和pojo类型属性名一致才能注入。

参数绑定

标签:字符   字符串   required   表单   http   转化   执行   使用   提交   

原文地址:http://www.cnblogs.com/aigeileshei/p/6100043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!