参数绑定

数据类型的绑定

什么叫做数据类型的绑定?
类似于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类型属性名一致才能注入。

时间: 2024-12-18 16:19:40

参数绑定的相关文章

SpringMVC详解(五)------参数绑定

参数绑定,简单来说就是客户端发送请求,而请求中包含一些数据,那么这些数据怎么到达 Controller ?这在实际项目开发中也是用到的最多的,那么 SpringMVC 的参数绑定是怎么实现的呢?下面我们来详细的讲解. 1.SpringMVC 参数绑定 在 SpringMVC 中,提交请求的数据是通过方法形参来接收的.从客户端请求的 key/value 数据,经过参数绑定,将 key/value 数据绑定到 Controller 的形参上,然后在 Controller 就可以直接使用该形参. 这里

【转】@RequestParam @RequestBody @PathVariable 等参数绑定注解详解

@RequestParam @RequestBody @PathVariable 等参数绑定注解详解 2014-06-02 11:24 23683人阅读 评论(2) 收藏 举报 目录(?)[+] 引言: 接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用: 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主

@RequestParam @RequestBody @PathVariable 等参数绑定注解详解(转)

简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型) A.处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解:   @PathVariable; B.处理request header部分的注解:   @RequestHeader, @CookieValue; C.处理request body部分的注解:@RequestParam,  @Reque

[Spring MVC] - SpringMVC的各种参数绑定方式

SpringMVC的各种参数绑定方式 1. 基本数据类型(以int为例,其他类似):Controller代码: @RequestMapping("saysth.do") public void test(int count) { } 表单代码: <form action="saysth.do" method="post"> <input name="count" value="10" ty

ASP.NET WebAPI 05 参数绑定

ParameterBindingAttribute 在上一篇中重点讲了ModelBinderAttribute的使用场景.这一篇详细的讲一下ModelBinder背后的参数绑定原理. ModelBinderAttribute继承自ParameterBindingAttribute,从命名上就是可以看出ParameterBindingAttribute是对Action参数进行绑定的一种特性.除了ModelBinderAttribute之外,WebAPI还另外定义了ValueProviderAttr

使用ASP.Net WebAPI构建REST服务(四)——参数绑定

默认绑定方式 WebAPI把参数分成了简单类型和复杂类型: 简单类型主要包括CLR的primitive types,(int.double.bool等),系统内置的几个strcut类型(TimeSpan.Guid等)以及string.对于简单类型的参数,默认从URI中获取. 复杂类型的数据也可以直接作为参数传入进来,系统使用media-type formatter进行解析后传给服务函数.对于复杂类型,默认从正文中获取, 例如,对于如下函数 HttpResponseMessage Put(int

Spring MVC (二 ) ---- 各种参数绑定方式

转载自:http://www.cnblogs.com/HD/p/4107674.html SpringMVC的各种参数绑定方式 1. 基本数据类型(以int为例,其他类似):Controller代码: @RequestMapping("saysth.do") public void test(int count) { } 表单代码: <form action="saysth.do" method="post"> <input n

WebAPI路由、参数绑定

? 一.测试Web API a)测试Web API可以用来检测请求和返回数据是否正常,可以使用Fiddler.Postman等工具.以Fiddler为例,这是一个http协议调试代理工具,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点.调试web应用.修改请求的数据,甚至可以修改服务器返回的数据. b)Fiddler会默认捕获所有进程的通信,可以在All Processes中Hide All然后在Composer-Parsed选项卡选择需要捕

springMVC参数绑定

默认支持的参数类型 处理器形参中添加如下类型的参数处理注解适配器会默认识别并进行赋值.1 HttpServletRequest通过request对象获取请求信息2 HttpServletResponse通过response处理响应信息3 HttpSession通过session对象得到session中存放的对象4 Model通过model向页面传递数据,如下://调用service查询商品信息Items item = itemService.findItemById(id);model.addA

SpringMVC初始化参数绑定--日期格式

一.初始化参数绑定[一种日期格式] 配置步骤: ①:在applicationcontext.xml中只需要配置一个包扫描器即可 <!-- 包扫描器 --> <context:component-scan base-package="cn.happy.controller"></context:component-scan> ②:在处理器类中配置绑定方法  使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型   proper