解决的问题: 解决参数绑定中需要将当前传来的String类型转为其他类型。
常用的类型转换:将String类型转为Date类型的类型转换器。
1.前台传到Controller中的参数只能进行一些简单的自动类型转换,但不能解决将Date类型
显而易见,其中的生日为Date类型,但在点击保存发送给请求后,请求参数中为String类型,而且Controller层中参数列表中得到的也是String类型。
因为String类型不能自动转为Date类型,因此需要类型转换器。
解决步骤:
1.创建自定义类型转换器: 实现 Converter<String, Date> 接口。
public class StrConverDate implements Converter<String,Date> {
@Override
public Date convert(String s) {
//自定义 日期格式为 yyyy-MM-dd HH:mm 对应生日的日期格式。
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date parse=null;
try {
//将字符串解析为Date类型
parse= format.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return parse;
}
}
2.在springmvc.xml配置文件中配置类型转换器
<!--配置 类型转换器-->
<bean id="conversionServiceFactoryBean" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="com.conver.StrConverDate"></bean> //自己创建的类型转换器的所在包
</list>
</property>
</bean>
3.此时类型转换器创建和配置完成,不需要使用,即可实现String类型转为Date类型