springmvc自定义参数绑定实现日期参数绑定
springmvc默认的参数绑定对日期类型是无效。对于controller形参中pojo对象,如果属性中有日期类型,
需要自定义参数绑定。将String类型转化为java.util.Date类型。
第一步:定义转化类,实现org.springframework.core.convert.converter.Converter接口,覆写convert方法
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.core.convert.converter.Converter; public class String2DateConverter implements Converter<String,Date>{ @Override public Date convert(String source) { //实现 将日期串转成日期类型(格式也可为yyyy-MM-dd HH:mm:ss) SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { //转成直接返回 return simpleDateFormat.parse(source); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } //如果参数绑定失败返回null return null; } }
第二步:向处理器适配器中注入自定义的参数绑定组件。在springmvc.xml中注入自定义的参数绑定转化器
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven> <!-- 配置自定义参数绑定 --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <!-- 转换器 --> <property name="converters"> <list> <!-- 注入自定义的参数绑定转化类 --> <bean class="ssm.controller.converter.String2DateConverter"/> </list> </property> </bean>