码迷,mamicode.com
首页 > 编程语言 > 详细

springmvc 的参数绑定

时间:2015-08-08 10:32:30      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:spring mvc   mybatis   

1.springmvc的参数绑定的过程

从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上。

springmvc中,接收页面提交的数据是通过方法形参来接收。而不是在controller类定义成员变更接收!!!!(单例的哦)

技术分享


直接在controller方法形参上定义下边类型的对象,就可以使用这些对象。在参数绑定过程中,如果遇到下边类型直接进行绑定。

1)HttpServletRequest:通过request对象获取请求信息

2)HttpServletResponse:通过response处理相应信息

3)HttpSession:通过session对象得到session中存放的对象

4)Model/ModelMap:model是一个接口,modelMap是一个接口实现 .作用:将model数据填充到request域。

5)简单类型:

通过@RequestParam对简单类型的参数进行绑定。

如果不使用@RequestParam,要求request传入参数名称和controller方法的形参名称一致,方可绑定成功。

如果使用@RequestParam,不用限制request传入参数名称和controller方法的形参名称一致。

通过required属性指定参数是否必须要传入,如果设置为true,没有传入参数,报下边错误:

技术分享

技术分享

6)pojo类型的参数绑定:页面中input的name和controller的pojo形参中的属性名称一致,将页面中数据绑定到pojo。

技术分享

7)自定义参数类型绑定实现日期类型绑定

对于controller形参中pojo对象,如果属性中有日期类型,需要自定义参数绑定。

将请求日期数据串传成日期类型,要转换的日期类型和pojo中日期属性的类型保持一致。

技术分享

自定义类型转化器类:

package cn.itcast.ssm.controller.converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.core.convert.converter.Converter;

public class CustomDateConverter implements Converter<String,Date>{

	public Date convert(String source) {
		
		//实现 将日期串转成日期类型(格式是yyyy-MM-dd HH:mm:ss)
		
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		try {
			//转成直接返回
			return simpleDateFormat.parse(source);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//如果参数绑定失败返回null
		return null;
	}

}

需要向处理器适配器中注入自定义的参数绑定组件,因为使用的是注解方式,因此需要在springmvc中进行配置:

<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
	<!-- 处理器映射器 -->
	<!-- 处理器适配器 -->
	<!-- 控制器handler -->
	<!-- 视图解析器 -->
	
	<!-- 配置类型转化器 --><!-- 校验器注册到处理器适配器中 -->
	<mvc:annotation-driven conversion-service="conversionService" validator="validator"></mvc:annotation-driven>
	<!-- 自定义参数绑定 -->
	<bean id="conversionService"
		class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
		<!-- 转换器 -->
		<property name="converters">
			<list>
				<!-- 日期类型转换 -->
				<bean class="cn.itcast.ssm.controller.converter.CustomDateConverter" />
			</list>
		</property>
	</bean>
注意:

技术分享



版权声明:本文为博主原创文章,未经博主允许不得转载。

springmvc 的参数绑定

标签:spring mvc   mybatis   

原文地址:http://blog.csdn.net/u014010769/article/details/47355189

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