SpringMVC自定义参数绑定器【日期类型】

前提:由于日期类型有很多种格式,springmvc无法将字符串转换成日期类型,所以需要我们根据业务需求自定义参数绑定!

  • 第一步:自定义参数绑定器---根据适配器参数绑定器的编码要求规范开发bean
package com.cyn.ssm.converter;

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

import org.springframework.core.convert.converter.Converter;
/*自定义的参数绑定器-日期类型转换器
 *根据适配器参数绑定器的要求规范开发
 *编写规范:实现Converter<>接口
 *String:要转换的源数据类型
 *Date:目标数据类型
 */
public class DateConverter implements Converter<String, Date> {
	
	@Override
	public Date convert(String source) {
		//1.定义我们要转成的日期类型(格式是:yyyy-MM-dd HH:mm:ss)
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			//2.进行转化,转化成功直接返回
			return simpleDateFormat.parse(source);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//3.如果参数绑定失败返回null
		return null;
	}

}
  • 第二步: 配置参数绑定器---在springmvc的核心配置文件中注册该参数绑定bean到spring容器
<!-- 自定义参数绑定器 -->
    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
    	<!-- 转化器 -->
    	<property name="converters">
    		<list>
    			<!-- 自定义日期类型的转化实现类 -->
    			<bean class="com.cyn.ssm.converter.DateConverter"></bean>
    		</list>
    	</property>
    </bean>  
  • 第三步: 处理器是由适配器执行的,所以需要在springmvc的核心配置文件中向处理器适配器注入自定义的参数绑定组件bean
    <!-- 配置注解驱动:基于注解的映射器和适配器配置 -->
    <mvc:annotation-driven conversion-service="conversionService"/>

猜你喜欢

转载自blog.csdn.net/qq_37230121/article/details/83624095