1.注意在SpringMVC中客户端传递时间类型数据的话必须按照yyyy/MM/dd HH:mm:ss这种格式才能够自动封装为Date类型的数据。如果想按照指定格式封装请往下看:
2.指定输入的格式封装为Date类型
2.1编写一个工具类
StringToDateConverter.java
import org.springframework.core.convert.converter.Converter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 把字符串转换日期
*/
public class StringToDateConverter implements Converter<String,Date>{
/**
* String source 传入进来字符串
* @param source
* @return
*/
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("数据类型转换出现错误");
}
}
}
2.2在Springmvc.xml中配置相对应的类型转换器
<!--配置自定义类型转换器-->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="cn.fy.utils.StringToDateConverter"/>
</set>
</property>
</bean>
这样客户端传递过来的时间格式如果是yyyy-MM-dd也能够自动解析为Date类型并封装进去