SpringMVC 日期格式转换

方法一:通过注解实现(简单)

SpringMVC 提供了一个注解 @DateTimeFormat 。可以将 View 传过来的 String类型转换为 Date 类型。具体使用方式很简单,直接在成员变量上加入注解就可以了,同时还可以指定 format 的格式,如下所示:

public class Person {
    private String name;

    //直接在date类型上加入注解,同时指定格式样式
    @DateTimeFormat( pattern = "yyyy-MM-dd" )
    private Date birthday;

    //setterAndGetter
}

至此,不要以为完事大吉了,你还需要加入 joda 的 jar 包。因为在 @DateTimeFormat 注解中使用到了 joda 包中的相关东西,所以缺少这个包也是会报异常的。如果使用的直接导入 jar 包的话,去下载 joda-Jar 导入即可,如果使用的是 Maven 管理项目的 jar ,那么在配置文件文件中加入依赖:

<dependency>
    <groupId>joda-timegroupId>
    <artifactId>joda-timeartifactId>
    <version>2.3version>
dependency>

方法二:通过配置全局类型转换器实现

public class DateConverter implements Converter<String, Date> {    
@Override    
public Date convert(String source) {    
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");    
     dateFormat.setLenient(false);    
     try {    
         return dateFormat.parse(source);    
     } catch (ParseException e) {    
         e.printStackTrace();    
     }           
     return null;    
}    

然后在springmvc.xml中配置转换器

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">    
        <property name="converters">    
            <list>    
                <bean class="com.doje.XXX.web.DateConverter" />    
            list>    
        property>    
bean> 
<mvc:annotation-driven conversion-service="conversionService" />

你可能感兴趣的:(Java)