码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC与MyBatis整合之日期格式转换

时间:2016-02-03 00:14:43      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:

        在上一篇博客《SpringMVC与MyBatis整合(一)——查询人员列表》中遗留了日期格式转换的问题,在这篇记录解决过程。   

        对于controller形参中pojo对象,如果属性中有日期类型,需要自定义参数绑定。

        将请求日期数据串传成 日期类型,要转换的日期类型和pojo中日期属性的类型保持一致。

        在上一篇的示例程序中,Person类属性如下:

        技术分享

        而测试结果如下:

        技术分享

        所以自定义参数绑定将日期串转成java.util.Date类型。需要向处理器适配器中注入自定义的参数绑定组件。

  添加部分一:自定义日期类型绑定。

      技术分享

  • DateConverter.java
package converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.core.convert.converter.Converter;

public class DateConverter implements Converter<String, Date>
{
    public Date convert(String source) {
        //实现 将日期串转成日期类型(格式是yyyy-MM-dd HH:mm:ss)
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            //转成直接返回
            return simpleDateFormat.parse(source);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        //如果参数绑定失败返回null
        return null;
    }


}

  修改部分二:配置方式

      在spring-mvc.xml中添加如下代码:

<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
<!-- 自定义参数绑定 -->
    <bean id="conversionService"
        class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <!-- 转换器 -->
        <property name="converters">
            <list>
                <!-- 日期类型转换 -->
                <bean class="converter.DateConverter" />
            </list>
        </property>
    </bean>

  修改部分三:allPerson.jsp

<td>${list.in_time}</td>修改为:
<td><fmt:formatDate value="${list.in_time}" pattern="yyyy-MM-dd HH:mm:ss"/><td>

   结果如下:

技术分享

     修改成功!

 

SpringMVC与MyBatis整合之日期格式转换

标签:

原文地址:http://www.cnblogs.com/dadawei/p/5178743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!