需求:当客户端的请求<input type=”text” name=”birthday”>输入1995-05-12时,在Controller接受的参数是java.util.Date类型时,需要将String类型转化为
java.util.Date类型
第一步:定义转化类,实现org.springframework.core.convert.converter.Converter接口,覆写convert方法
public class StringToDataConverter implements Converter<String,Date>{//将String转化为Date
@Override
public Date convert(String arg0) { //将请求String类型转化为java.util.Date类型
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return simpleDateFormat.parse(arg0);//返回转化结果
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
第二步:在applicaionContext.xml中注入自定义的参数绑定转化器
<!-- 自定义参数绑定 -->
<!-- 在控制器映射器,控制器适配器驱动中配置自定义参数绑定 -->
<mvc:annotation-driven conversion-service="conversionService"/>
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<!--FormattingConversionServiceFactoryBean中有一个属性名为converters的属性 -->
<property name="converters">
<list>
<!-- 注入自定义的参数绑定转化类 -->
<bean class="cn.itcast.ssm.converter.StringToDataConverter"></bean>
</list>
</property>
</bean>
所有提交的String类型的数据都会转化为java.util.Date类型