`
qieyi28
  • 浏览: 158196 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

srpingMvc3.2 配置日期转换

阅读更多

 

        配置spingMVC日期转换器,最近在做一个很老的项目,各种问题不断,于是想重新架构下项目,上次遇到日期前端传到后端转换异常的问题,于是研究了一下,网上一查,各种错误。分享给小伙伴们一下。

我使用的spring版本为3.2.13.

spring配置文件里我这样配置:

 <!-- 自定义转换器 -->
    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> 
        <property name="converters">
        	<list>
        		<bean class="cn.hshb.core.common.DateConverter"></bean>
        	</list>
        </property>
    </bean>
    
    <!-- 追加日期转化器 -->
    <mvc:annotation-driven conversion-service="conversionService" />

 上面请注意:convertersFormattingConversionServiceFactoryBean中,网上很多代码都错了。

 FormattingConversionServiceFactoryBean在spring-core包下。

转换类DateConverter:

package cn.hshb.core.common;
/**
 * 时间日期转换类
 * @author Macbook
 */
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

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

public class DateConverter  implements Converter<String,Date>{

    private static final List<String> formarts = new ArrayList<String>(4);
    static{
        formarts.add("yyyy-MM");
        formarts.add("yyyy-MM-dd");
        formarts.add("yyyy-MM-dd hh:mm");
        formarts.add("yyyy-MM-dd hh:mm:ss");
    }
    public Date convert(String source) {
        String value = source.trim();
        if ("".equals(value)) {
            return null;
        }
        if(source.matches("^\\d{4}-\\d{1,2}$")){ 
            return parseDate(source, formarts.get(0));
        }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")){
            return parseDate(source, formarts.get(1));
        }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")){
            return parseDate(source, formarts.get(2));
        }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")){
            return parseDate(source, formarts.get(3));
        }else {
            throw new IllegalArgumentException("Invalid boolean value '" + source + "'");
        }
    }

    /**
     * 功能描述:格式化日期
     * 
     * @param dateStr String 字符型日期
     * @param format String 格式
     * @return Date 日期
     */
    public  Date parseDate(String dateStr, String format) {
        Date date=null;
        try {
            DateFormat dateFormat = new SimpleDateFormat(format);
            date = (Date) dateFormat.parse(dateStr);
        } catch (Exception e) {
        	
        }
        return date;
    }
    
    public static void main(String[] args) {
        System.err.println(new DateConverter().convert("2014-04-05"));
    }

}

 

我这里把基本常用的格式都配置进来了。

 

 

分享到:
评论

相关推荐

    Srpingmvc 框架所需的全部jar

    12. **jackson 或 gson.jar**:JSON 序列化和反序列化的库,用于将 Java 对象转换为 JSON 格式,便于 Web 服务的通信。 13. **hibernate 或 mybatis.jar**:数据库持久化框架,如 Hibernate 用于 ORM(Object-...

    jersey+spring+srpingmvc实现上传

    - 配置说明:如Spring的配置文件,Jersey的资源配置,以及MVC的拦截器、视图解析等。 - 运行指南:如何启动HTTP服务器,如何发送测试请求,以及查看上传结果的方法。 - 示例请求:提供一个示例POST请求,包括URL...

    spring+srpingmvc+mybatis+cxf

    在配置文件中,通常会看到Spring的applicationContext.xml用于配置Bean,SpringMVC的servlet-context.xml用于配置Web层,以及Mybatis的mybatis-config.xml和对应的Mapper文件。此外,CXF的相关配置可能在wsdd或cxf....

    srpingmvc+hibernate集成

    Hibernate允许开发者用面向对象的方式来操作数据库,通过XML或注解配置将Java类映射到数据库表,提供了一种无需编写大量SQL语句的数据库操作方式。它支持CRUD(创建、读取、更新、删除)操作,还具备事务管理和第二...

    dubbo+zookpeer+srpingmvc

    "环境"可能指的是运行这些服务所需的环境配置,如JDK、Tomcat服务器等,以及ZooKeeper的安装包和配置文件。 总的来说,掌握"Dubbo + ZooKeeper + SpringMVC"的整合使用,对于提升大型分布式系统的构建和管理能力...

    srpingmvc MyBaties 项目

    - 配置SpringMVC和MyBatis的环境,包括web.xml、spring-context.xml、mybatis-config.xml等配置文件。 - 设计数据库表结构,编写对应的Java实体类。 - 编写Mapper接口和XML映射文件,定义SQL操作。 - 实现...

    java SrpingMVC图书管理系统

    `Books-Management-System`可能是项目的源代码目录,按照Maven或Gradle等构建工具的标准目录结构组织,包含src/main/java(业务代码)、src/main/resources(配置文件和静态资源)、src/main/webapp(Web应用目录)...

    spring+srpingMvc+mybatis简单权限系统

    在权限系统中,Spring可以管理如数据库连接、服务接口实现类等对象的生命周期,通过配置或注解方式将它们注入到需要的地方。 - **面向切面编程(Aspect-Oriented Programming,AOP)**:AOP允许我们在不修改业务...

    srpingMVC+hessian4整合jar包,工程里拷出来的,绝对可用

    3. **配置 Spring MVC**:在 Spring MVC 的配置文件中,配置 DispatcherServlet 和 HandlerMapping,使 Hessian 服务能够被 MVC 框架识别和处理。 4. **创建 Hessian 客户端**:在需要调用服务的客户端应用中,使用...

    spring+srpingmvc+hibernate实现动态ztree生成树状图效果

    前端页面`ztree.jsp`展示了如何设置ZTree的配置和数据。 2. **ZTree配置(Setting)**: 在JavaScript部分,定义了一个名为`setting`的对象,该对象包含了ZTree的数据配置和回调函数。`data.simpleData.enable: ...

    springMVC+mysql实现的Java web学生宿舍管理系统源码.zip

    eclipse :配置tomcat:http://programmer.ischoolbar.com/index.php/article/article/id/10.html jdk7和jdk8都可以,其他的没试过 tomcat7 MySQL:管理工具:navicat:...

    dwr和spring mvc集成的一个package

    这个jar是很难找的,是dwr在spring环境里面,使用注解的必须包,希望对你有用。

    SpringMVC+Mybatis

    3. 结果映射:自动将查询结果转换为Java对象,支持复杂结果集的映射。 **SpringMVC与Mybatis整合** 整合SpringMVC和Mybatis的关键在于Spring的ApplicationContext容器和Mybatis的SqlSessionFactory。以下是整合...

    Spring In Action SpringMVC 提交表单

    SpringMVC使用视图解析器(如InternalResourceViewResolver)将视图名称转换为实际的JSP页面。在上述例子中,"form"和"success"是视图名称,对应的可能是"WEB-INF/views/form.jsp"和"WEB-INF/views/success.jsp"。 ...

    springboot:示例(Spring Boot + Spring MVC + Spring Security + Thymeleaf + Web罐)

    弹簧靴在该项目中,您可以看到如何在Spring Boot应用程序中配置spring安全性(通过UserDetailsS​​ervice实现)和thymeleaf模板引擎,以及如何在网页上使用spring security名称空间。

    springmvc+mybatis框架事例

    配置MyBatis主要包括创建SqlSessionFactoryBean,定义Mapper接口和XML配置文件。 搭建Spring MVC + MyBatis项目的第一步是设置环境。你需要安装Java SDK、Maven或Gradle(用于构建管理)、Eclipse或IntelliJ IDEA...

    污水平台技术方案

    使用mysql为数据库,开发框架为srpingMVC+mybatis,前台是jsp

    阿里dubbo出错提示Thread pool is EXHAUSTED问题及解决方法

    在上面的例子中,我们可以看到,系统使用srpingMvc+spring+mybatis+dubbo的微服务架构,检查日志看到Caused by: java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED!错误信息。 二、解决...

    springmvc-jar包

    - `spring-context.jar`:提供了应用程序上下文,支持 Bean 的定义、初始化、配置和管理,同时包含事件监听、AOP(面向切面编程)支持等。 - `spring-beans.jar`:负责 Bean 的实例化、配置和管理,是 Spring 框架...

    用Maven整合SpringMVC+Spring+Hibernate 案例

    该资源是我参照别人的博客来搭建的环境,myeclipse 10.6+maven3+srping+srpingmvc+hibernate4.1+mysql5.5,博客地址:http://blog.csdn.net/liu1220356497/article/details/47701565,该博客是我转载原来的博客主的,...

Global site tag (gtag.js) - Google Analytics