SpringMvc(2)自定义参数绑定

由于日期数据有很多种格式,所以springmvc没办法把字符串转换成日期类型。所以需要自定义参数绑定。(这只是其中一种应用情况)

前端控制器接收到请求后,找到注解形式的处理器适配器,对RequestMapping标记的方法进行适配,并对方法中的形参进行参数绑定。

在springmvc这可以在处理器适配器上自定义Converter进行参数绑定。如果使用<mvc:annotation-driven/ >可以在此标签上进行扩展。

自定义时间转换器,自定义的转换器需要实现Converters接口,并指定泛型<S,T> S代表的是源类型,T代表的是目标类型。

具体绑定实现代码如下:

定义Converter类

public class DateConverter implements Converter<String, Date> {

	@Override
	public Date convert(String source) {
		try {
		    //将日期串转成日期类型(格式是yyyy-MM-dd HH:mm:ss)
			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			return simpleDateFormat.parse(source);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

}

配置时间转换器,在springmvc.xml中配置时间转换器,并在mvc注册驱动中声明该转换器

<mvc:annotation-driven conversion-service="conversionService">
</mvc:annotation-driven>
<!-- conversionService -->
	<bean id="conversionService"
		class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
		<!-- 转换器 -->
		<property name="converters">
			<list>
				<bean class="com.yan.controller.converter.DateConverter"/>
			</list>
		</property>
	</bean>

最终就能实现绑定了,当然日期问题一般情况下用插件就行,没必要用这个。但是这个知识点很有意思,有没有~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值