前言
SpringMVC内部其实已经有了一些类型转换器,比如,我们前端发来了一个String类型的18.接收参数时我们使用int去接收,程序是不会报错的,其实这就是转换器的作用。虽然SpringMVC很好了,不过它也有迷茫的时候,比如,进来一个时间他就不知道应该以什么格式进行转换,此时我们就需要自己配置转换器。
开发步骤
1)自定义转换器实现Converter接口
2)在配置中声明转换器
3)在<mvc:annotation-driven >中引用转换器
编写转换器
此处写了一个时间类型的转换,将xxxx-xx-xx的字符串转为日期
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
public class MyDateConverter implements Converter<String,Date>{
@Override
public Date convert(String dataStr) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
try {
return sdf.parse(dataStr);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
声明转换器
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="myspringmvc.converter.MyDateConverter"></bean>
</list>
</property>
</bean>
引用转换器
<mvc:annotation-driven conversion-service="conversionService" />
结束语
这个知识点倒不是特别重要,用得到情况比较少,如果使用到了写在这也方便查阅。
参考
https://www.bilibili.com/video/BV1WZ4y1P7Bp