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>