数据格式化,从本质上讲属于数据转换的范畴。Spring就是基于数据转换框架植入“格式化”功能的。
在数据转换时我们进行了如下配置:
我们使用的是ConversionServiceFactoryBean,而进行数据格式化时,只是将ConversionServiceFactoryBean改为FormattingConversionServiceFactoryBean即可,其他没有变化,如下是数据格式化的配置:

关于FormattingConversionServiceFactoryBean与ConversionServiceFactoryBean的比较:
  • ConversionService:只有数据转换功能;
  • ConversionServiceFactoryBean:与ConversionService对应;

  • FormattingConversionService:具有数据转换和数据格式化功能;
  • FormattingConversionServiceFactoryBean:与FormattingConversionService对应;可以注册自定义的转换器,又可以注册自定义的注解驱动器逻辑。

<mvc:annotation-driven/>标签内部默认创建的conversionService实例就是一个FormattingConversionServiceFactoryBean;
装配完FormattingConversionServiceFactoryBean后,Spring MVC对处理方法的入参绑定就支持注解驱动的功能了。
 

2. 具体实现


步骤1:配置FormattingConversionServiceFactoryBean

  1. <mvc:annotation-driven conversion-service="conversionService"/>
  2. <bean id="conversionService"
  3. class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
  4. <property name="converters">
  5. <list>
  6. <!-- <bean class="com.ll.model.StringToPersonConverter" /> -->
  7. </list>
  8. </property>
  9. </bean>

步骤2:使用@DateTimeFormat和@NumberFormat注解对象属性


步骤3:控制层


步骤4:前台请求

 

3. 简单介绍@DateTimeFormat与@NumberFormat


 
 
 
 
 
 
 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

一、后台日期类型解析到前端

1.在springmvc的配置文件中添加这个.annotation-driven在配置文件中只配置一次     (此方法全局作用)
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
</bean>
</property>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>

2.直接在字段上写上  
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT-8")
private Date inputtime;

二、前端日期类型传到后台

1.在Controller类中添加这个方法      (此方法全局作用)
@InitBinder
public void initBinder(WebDataBinder binder){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, true));
}

2.直接在字段上添加
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date beginDate;

第三种:https://blog.csdn.net/u012410733/article/details/72773095

springmvc date的更多相关文章

  1. springmvc Date类型转换

    有时候我们会碰到这么一个问题,有一个实体类,里面有一个Date类型的数据,jsp页面传递的时间参数是String的,这就导致无法对应,springmvc无法帮我们自动封装参数到实体类中了,这里我解决的 ...

  2. SpringMvc date数据传递处理

    1.form表单提交date数据 form表单提交的date数据要在接收的字段上加入@DateTimeFormat注解 @DateTimeFormat(pattern = "yyyy-MM- ...

  3. 【Spring】SpringMVC中浅析Date类型数据的传递

    在控制器中加入如下代码: @InitBinder public void initBinder(ServletRequestDataBinder bin){ SimpleDateFormat sdf ...

  4. SpringMVC在传递date型数据时的配置

    查阅了好多资料, 最后才发现原来只是添加一个方法就能解决的问题, 但是看了半天又没看明白, 只是知道这么写就能成功, 先记下来, 以后再研究吧, 在配置好springMVC的时候, 可以在前台的for ...

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

    原文链接:http://www.tuicool.com/articles/aYfaqa 在使用 SpringMVC 的时候,我们可能需要将一个对象从 View 传递给 Controller .而当这个 ...

  6. SpringMVC解决@ResponseBody返回Json的Date日期类型的转换问题

    在做项目的时候,发现后台把Date类型的属性以json字符串的形式返回,前台拿不到转换后的日期格式,始终响应回去的都是long类型时间戳. 查阅资料之后找到解决方法: 方法一(在springmvc的x ...

  7. springMVC返回json数据时date类型数据被转成long类型

    在项目的过程中肯定会遇到ajax请求,但是再用的过程中会发现,在数据库中好好的时间类型数据:2017-05-04 17:52:24 在转json的时候,得到的就不是时间格式了 而是145245121这 ...

  8. 解决:springmvc中接收date数据问题

    这里提供三种解决方案. 一.局部转换 :只是对当前Controller类有效 springMVC.xml中添加: <bean class="org.springframework.we ...

  9. SpringMVC 处理Date类型数据@InitBinder @DateTimeFormat 注解 的使用

    使用SpringMVC的时候,需要将表单中的日期字符串转换成对应JavaBean的Date类型,而SpringMVC默认不支持这个格式的转换,解决方法有两种,如下: 方法一 . 在需要日期转换的Con ...

随机推荐

  1. [POJ1006]生理周期 (中国剩余定理)

    蒟蒻并不会中国剩余定理 交的时候还出现了PE的错误 下面是AC代码 #include<iostream> #include<cstdio> using namespace st ...

  2. mysql时间加减运算

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期 + 时间(date + time) 函数:now() mysql> select now();+———————+| now() |+ ...

  3. .net异常处理

    很多情况下,我们通过开发的winform程序会crash掉,此问题大部分是因为有部分异常没有捕获处理导致的.我们可以通过注册下面两个异常处理,来捕获这些异常,并做特殊处理. Application.T ...

  4. URL结构

    一.概念 URL:统一资源定位符 (Uniform Resource Locator, URL). 完整的URL由这几个部分构成:scheme://host:port/path?query#hash: ...

  5. JS_高程5.引用类型(1)Object类型

    引用类型 在ECMASCript中,引用类型是一种数据结构,将数据和功能组织在一起,引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.(注意:尽管ECMAScript从技术上 ...

  6. [DevExpress使用随笔]之NavBarControl控件(一)【转】

    https://blog.csdn.net/HXC_HUANG/article/details/78614092 NavBarControl是具有可扩展组的侧导航控件.一.在Winform窗口中拖入N ...

  7. 简单几步即可判断Linux系统有无被DDOS攻击的方法

    一般来说,服务器非常慢可能原因是多方面的,有可能是配置错误,脚本错误或者是一些奇诡的硬件.当然也有可能是有人对你的服务器进行 Dos (拒绝服务攻击)或者 DDOS (分布式拒绝服务攻击). Dos攻 ...

  8. JAVA项目中引用Logback的方法

    一.简介 本文主要讲JAVA项目中引入Logback的方法. 二.解决 1.引入依赖. <!--Begin LogBack Log--> <!-- https://mvnreposi ...

  9. [转]linux用户管理

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  10. ZMQ示例:使用 curve 进行加密通信

    1. ZMQ 官方文档 ZMQ 的官方文档中关于 curve 的介绍如下: Client and server roles A socket using CURVE can be either cli ...