JSP页面:如果输入2020/06/05不会报错,如果输入2020-06-05会报错需要进行类型转换
<%--自定义类型转换器--%>
<form action="param/saveAccount" method="post">
用户姓名:<input type="text" name="name"><br/>
用户年龄:<input type="text" name="age"><br/>
用户的生日:<input type="text" name="date"><br/
<input type="submit" value="提交">
</form>
第一步:新建工具类:StringToDateConverter
package com.java.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 source) {
//判断
if (source == null){
throw new RuntimeException("请您传入数据");
}
DateFormat df = new SimpleDateFormat("yyyy-mm-dd");
//把字符串转换日期
try {
return df.parse(source);
}catch (Exception e){
throw new RuntimeException("数据类型转换出现错误");
}
}
}
第二步:需要在springmvc.xml配置文件中进行修改配置
!-- 配置自定义类型转换器 -->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.java.utils.StringToDateConverter"></bean>
</set>
</property>
</bean>
<!-- 开启SpringMVC框架注解的支持 -->
<mvc:annotation-driven conversion-service="conversionService"/>