在使用springMVC过程中 ,假如页面使用了
<form action="${pageContext.request.contextPath}/user/testDate">
<input type="date" name="birthday">
<input type="submit" value="提交日期">
</form>
的方式 那么需要将String转为Date 步骤共三步 分别为
a: 自定义一个转换类
b:在spring-mvc.xml 文件中配置类型转换工厂
c: 在注解驱动中 引入类型转换工厂
详细代码如下
1: 自定义一个转换类
package cn.lijun.converter;
import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author lijun
* @date 2019/7/10 9:50
* 自定义转换器
* 将字符串 转换为日期格式
* 1 实现接口 converter
* 源类型 Strign
* 目标类型: Date
*/
public class StringToDateConverter implements Converter<String,Date> {
public Date convert(String source){
// 日期类型转换对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date=null;
try {
date = sdf.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
2:在spring-mvc.xml 文件中配置类型转换工厂
<!--类型转换工厂-->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="cn.lijun.converter.StringToDateConverter"></bean>
</set>
</property>
</bean>
3: 在注解驱动中 引入类型转换工厂
<!--注解驱动 关联类型转换工厂-->
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>