日期时间转换器

数据库中的日期时间格式: yyyy-MM-dd HH:mm:ss  datetime类型

实体类的日期时间类型: java.util.Date

问题描述:

  从页面将日期时间传递到handler, handler中得到的是String类型, 这时候就会发生时间类型不匹配的异常

解决方法:  定义一个日期时间转换器

  1. 创建类DateConvertor.java

 1 package com.itcast.ssm.util;
 2 
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Date;
 6 import org.springframework.core.convert.converter.Converter;
 7 
 8 public class DateConvertor implements Converter<String, Date> {
 9 
10     // String型日期时间格式转换成Date型
11     @Override
12     public Date convert(String time) {
13         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
14         Date date = null;
15         try {
16             date = sdf.parse(time);
17         } catch (ParseException e) {
18             e.printStackTrace();
19         }
20         return date;
21     }
22 
23 }

  2. 在springmvc.xml中配置注册该转换器

1 <mvc:annotation-driven conversion-service="conversionService"/>
2 <!-- 日期时间转换器 -->
3     <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
4         <property name="converters">
5             <list>
6                 <bean class="com.itcast.ssm.util.DateConvertor"/>
7             </list>
8         </property>
9     </bean>

  这样, springmvc的ioc容器会自动识别到, 当页面将时间字符串传递到handler时, 转换器会将String型的时间转换成自定义格式的Date型时间

除了以上的方法之外, 还可以使用org.springframework.web.bind.support.ConfigurableWebBindingInitializer进行绑定 

 

posted @ 2017-03-22 14:15  半生戎马,共话桑麻、  阅读(402)  评论(0)    收藏  举报
levels of contents