自定义类型转换器
1、表单提交的任何数据类型全部都是字符串类型,但是后台定义Integer类型,数据也可以封装上,说明Spring框架内部会默认进行数据类型转换
2、如果想自定义数据类型转换,可以实现Converter的接口
使用步骤:
第一步:第一个类,实现Converter接口,该接口有两个泛型。
package utils;
import org.springframework.core.convert.converter.Converter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 将字符串转换为日期
*/
public class StringToDateConverter implements Converter<String, Date> {
@Override
public Date convert(String s) {
if(s==null)
throw new RuntimeException("请您传入参数");
//支持2010-11-10这种格式
DateFormat df=new SimpleDateFormat("yyyy-mm-dd");
try {
return df.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
第二步在配置文件中配置自定义类型转换器
<!--配置自定义类型转换器-->
<bean id="conversionServiceFactoryBean" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="utils.StringToDateConverter"/>
</set>
</property>
</bean>
<!--开启SpringMVC注解支持
自动加载RequestMappingHandlerMapping处理器映射器
和RequestMappingHandlerAdapter处理适配器
-->
<mvc:annotation-driven conversion-service="conversionServiceFactoryBean"></mvc:annotation-driven>
运行项目: