zoukankan      html  css  js  c++  java
  • SpringMVC日期类型转换问题三大处理方法归纳

    转自:http://blog.csdn.net/chenleixing/article/details/45190371

    方法1.在实体中加入日期格式化注解

    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date birthday;

    方法2.在controller中加入数据绑定代码

    复制代码
    package com.fyh.www.pojo.user;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import org.springframework.beans.propertyeditors.CustomDateEditor;
    import org.springframework.web.bind.WebDataBinder;
    import org.springframework.web.bind.annotation.InitBinder;
    
    public class LoginController {
    
        @InitBinder
        public void initBinder(WebDataBinder binder) {
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); // true:允许输入空值,false:不能为空值
    
        }
    }
    复制代码

    方法3.注册一个全局日期类型转化器

    注册全局转化器

    复制代码
        <mvc:annotation-driven conversion-service="conversionService"/>
    
    
        <!-- 设置Converter转换器 -->
            <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
                <!-- 设置多个转换器 -->
                <property name="converters">
                    <list>
                        <bean class="com.fyh.www.common.mvcConverter.CustomTrimConverter"></bean>
                    </list>
                </property>
            </bean>
    复制代码

    具体的实现代码

    复制代码
     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; }
    复制代码

    后台date类型到前台String类型

    JSP模版引擎方法:

        <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>   
        <fmt:formatDate value="${job.jobtime }" pattern="yyyy-MM-dd HH:mm:ss"/>  

    Freemarker模版引擎方法:

        <input id="receiveAppTime" name="receiveAppTime" type="text" value="${(bean.receiveAppTime?string('yyyy-MM-dd'))!}" />  
  • 相关阅读:
    POI Excel表格合并,边框设置
    MYSQL中group_concat有长度限制!默认1024(转载)
    MARQUEE 字符滚动条效果
    <A>标签电子邮件链接
    <A>标签锚标记
    <hr> 水平样式分隔线
    sudo gem install cocoapods 没反应问题
    适配iPhone6和iPhone6 Plus
    同步推是如何给未越狱的IOS设备安装任意IPA的?
    据说是百度ios面试题
  • 原文地址:https://www.cnblogs.com/xh_Blog/p/8493680.html
Copyright © 2011-2022 走看看