SpringMVC配置全局日期转换器

spring3.0配置日期转换可以通过配置自定义实现WebBingingInitializer接口的一个日期转换类来实现,方法如下

转换类:

 public class DateConverter implements WebBindingInitializer {    

   public void initBinder(WebDataBinder binder, WebRequest request) {
         SimpleDateFormat df = newSimpleDateFormat("yyyy-MM-dd");    
        binder.registerCustomEditor(Date.class, new CustomDateEditor(df, false));    
        }    
    } 

在spring-servlet.xml当中的进行注册:

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">    
        <!-- 日期格式转换 -->    
        <property name="webBindingInitializer">    
            <bean class="DateConverter" />    
        </property>    
    </bean>  

spring3.1.1的处理进行调整,所以按照3.0的写法在3.1.1里面是无效的,正确的写法如下

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">    
        <property name="converters">    
            <list>    
                <bean 
                class="com.doje.XXX.web.DateConverter" />    
            </list>    
        </property>    
    </bean>

其中class=”com.doje.XXX.web.DateConverter” 是自定义的日期转换器类,
下一步:
需要修改spring service context xml配置文件中的annotation-driven,增加属性conversion-service指向新增的conversionService bean。

<mvc:annotation-driven conversion-service="conversionService" />

自定义的converter如下

 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;    
    }   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值