SpringMVC自定义类型转换器
有时候我们想传入一些字符串想让他自己转换成其他类型,比如传入2019-08-24,然后保存成Date类型,这时候我们就可以自己定义一个类型转换器帮助我们完成类型转换。
首先编写转换的类 让他继承Converter接口,并且在泛型中指定原类型以及目标类型,然后再去实现它即可。
//把一个字符串转换为日期
public class String2DateConverter implements Converter<String, Date> {
//String s为传入的参数
@Override
public Date convert(String s) {
if (s == null) {
throw new RuntimeException("传入格式不正确");
}
//"yyyy-MM-dd"为传入参数的格式
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
return df.parse(s);
} catch (Exception e) {
throw new RuntimeException("转换出现错误");
}
}
}
然后我们在springmvc.xml中配置自定义类型转换器 同时还要在
<!--配置自定义类型转换器-->
<bean id="conversionServiceFactoryBean" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.qst.untils.String2DateConverter"/>
</set>
</property>
</bean>
<!-- 开启对自定义转换器的支持-->
<mvc:annotation-driven conversion-service="conversionServiceFactoryBean"/>
此时我们在传入参数时即可能够自动进行转换类型了
还没有评论,来说两句吧...