当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

SpringMVC处理Date类型的成员变量方法

发表于: 2014-08-17   作者:dyy_gusi   来源:转载   浏览次数:
摘要:     在使用 SpringMVC 的时候,我们可能需要将一个对象从 View 传递给 Controller 。而当这个 Object 只是一些简单的 String , int 或者 boolean 类型的成员变量时, SpringMVC 能自动将 View 层的 JSON 包含的 String 类型转换为 Object 成员变量相应的类型。但是当这个 Object
    在使用 SpringMVC 的时候,我们可能需要将一个对象从 View 传递给 Controller 。而当这个 Object 只是一些简单的 String int 或者 boolean 类型的成员变量时, SpringMVC 能自动将 View 层的 JSON 包含的 String 类型转换为 Object 成员变量相应的类型。但是当这个 Object Date 类型的成员变量的时候, SpringMVC 在将 String 转换成 Date 类型时,就会出错,报异常。但是我们又需要使用 Date 类型的时候,其实 Spring 给我们提供了简单的操作方式可以完成这个任务的。

 

     SpringMVC提供了一个注解@DateTimeFormat。可以将View传过来的String类型转换为Date类型。具体使用方式很简单,直接在成员变量上加入注解就可以了,同时还可以指定format的格式,如下所示:

public class Person {

    private String name;

    //直接在date类型上加入注解,同时指定格式样式

    @DateTimeFormat( pattern = "yyyy-MM-dd" )

    private Date birthday;

    //setterAndGetter

}

 

       至此,不要以为完事大吉了,你还需要完成以下两个步骤才可以。

 

第一需要加入jodajar包。因为在@DateTimeFormat注解中使用到了joda包中的相关东西,所以缺少这个包也是会报异常的。如果使用的直接导入jar包的话,去下载joda-Jar导入即可,如果使用的是Maven管理项目的jar,那么在配置文件文件中加入依赖:

<dependency>

    <groupId>joda-time</groupId>

    <artifactId>joda-time</artifactId>

    <version>2.3</version>

</dependency>

 

第二需要在SpringMVC配置xml文件中(一般是dispatchServlet.xml文件)中加入配置:<mvc:annotation-driven />。这一句配置是一种简写,其实是给Spring容器中注入了两个Bena,分别是:DefaultAnnotationHandlerMappingAnnotationMethodHandlerAdapter@DateTimeFormat注解的内部同样需要使用到前面注入的两个bean去处理,所以缺少这个配置,Spring容器中没有对应的bean去处理注解同样也会报错。至此,所有的步骤都完成了,可以跑了。

 

接下来我们跑跑测试一下,测试过程:

首先需要一个表单:

<form action="test" method="post">

    <input type="text" name="name">

    <input type="text" name="birthday">

    <input type="submit" name="提交">

</form>

 

    用一个Controller接收:

@RequestMapping( "/test" )

public ModelAndView test(HttpServletRequest request,

       @ModelAttribute Person person) {

    ModelAndView view = new ModelAndView();

    System.out.println(person.toString());

    view.setViewName("/test/data");

    return view;

}

 

好了,总结一下整个过程,其实就3步:

1  Date类型的属性上加入@DateTimeFormat注解

2、  加入joda相关的包

3、  SpringMVC配置文件中加入<mvc:annotation-driven />

 

SpringMVC处理Date类型的成员变量方法

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
简介 对于springMVC处理方法支持支持一系列的返回方式: ModelAndView Model ModelMap Map View Str
对于springMVC处理方法支持支持一系列的返回方式: ModelAndView Model ModelMap Map View String V
对于springMVC处理方法支持支持一系列的返回方式: ModelAndView Model ModelMap Map View String V
对于springMVC处理方法支持支持一系列的返回方式: ModelAndView Model ModelMap Map View String V
对于springMVC处理方法支持支持一系列的返回方式: ModelAndView Model ModelMap Map View String V
对于springMVC处理方法支持支持一系列的返回方式: ModelAndView Model ModelMap Map View String V
对于springMVC处理方法支持支持一系列的返回方式: ModelAndView Model ModelMap Map View String V
1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义
最近研究变量绑定,稍微总结一下,以后继续补充: cButton->EnableWindow(FALSE); 每日一道理 喜
源代码如下: view plain #include <iostream> using namespace std; class CSimple { public
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号