springMVC 中处理从前端传来的日期进行统一转换成Date 类型的,前端传来的日期格式为:yyyy-MM-dd,可以转换为yyyy/MM/dd,也可以默认转化为Date类型的
1、写一个转换的类:包名为:import org.springframework.core.convert.converter.Converter;
@Component
public class MyDateConvert implements Converter<String, Date> {
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
// private SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy/MM:dd");
@Override
public Date convert(String source) {
if (source != null) {
try {
System.out.println("source="+simpleDateFormat.parse(source));
// System.out.println("source1="+simpleDateFormat.format( simpleDateFormat.parse(source)));
return simpleDateFormat.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
}
return null;
}
}
2、在springMVC的配置文件中添加配置
<mvc:annotation-driven conversion-service="conversionService2" />
<!--
配置了自定义的转换器
-->
<bean id="conversionService2" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<!-- <bean class="com.qianfeng.springmvc.controller.convert.MyDateConvert"/>-->
<ref bean="myDateConvert"/>
</set>
</property>
</bean>
3、在controller中进行测试
@RequestMapping("/test9")
public String test1(Date birthday) {
//这里我们可以转换成我们想要的日期格式
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
// System.out.println("format="+simpleDateFormat.format(birthday));
System.err.println(birthday);
return "suibianxie";
}