SSM框架时间转换
一:简单的了解一下为什么需要时间转换?
时间转换就是发送表单请求时:携带日期类型的值,如何映射到我们实体类中对应的data类型
二:如何实现时间转换?
第一种方式:也是最简单的方式,使用注解
@DateTimeFormat(pattern=“yyyy-MM-dd”)
在你需要转换的日期类型的属性上加入此注解,就可按照你自定义的转换格式pattern="yyyy-MM-dd"转换了
第二种方式:自定义时间转换器,有点在于灵活,兼容性高(博主还是比较推荐使用的)
2.1:自定义时间转换类 实现 Converter 接口
package com.smbms.controller.dataFormat;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateConverter implements Converter<String, Date> {
@Override
public Date convert(String s) {
// 将日期串转换成日期格式(格式是yyyy-MM-dd)
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
//返回上述格式的Date类型对象
return simpleDateFormat.parse(s);
}catch (ParseException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
2.2:在springMVC配置文件中 配置Converter转换器
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
<!--配置Converter转换器,转换工程(日期、去除两端空格等)-->
<bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean" id="conversionService">
<property name="converters">
<list>
<bean class="com.smbms.controller.dataFormat.DateConverter"></bean>
</list>
</property>
</bean>