SpringMVC 实现日期转换器

springmvc 默认是不支持字符串直接转换成Date类型的,需要通过其他实现日期的转换
两种方式:

1、使用注解

注解方式:
@DateTimeFormat(pattern = "yyyy-MM-dd")
这个注解加到需要转换的属性上

但是如果你的项目中又多个需要做时间转换的属性的话,那么使用注解就会比使用xml配置全局的要繁琐一些。所以看情况使用哪种方式。

2、实现Converter接口
  • 使用@Component 注解

    
    @Component
    public class StringToDateConvert implements Converter<String, Date> {
    
    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    
    @Override
    public Date convert(String s) {
        Date date = null;
        try {
            date = sdf.parse(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

}


* 在springmvc.xml文件中注册一个转换器

<!--2.把转换器对象放入SpringMVC转换器工厂中-->
<!--2.把转换器对象放入SpringMVC转换器工厂中-->
<bean id="conversionServiceFactory" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.jsu.web.converter.StringToDateConvert"/>
</set>
</property>
</bean>


* 将转换器注册到注解驱动中

<!--开启注解驱动-->
<mvc:annotation-driven conversion-service="conversionServiceFactory"/>


* 测试

@ResponseBodybr/>@RequestMapping("/formatConverter")
public Date formatConverter (Date date) {
System.out.println(date);
return date;
}


### 结尾
本文到这里就结束了,感谢看到最后的朋友,都看到最后了,点个赞再走啊,如有不对之处还请多多指正。