SpringMVC用JsonSerialize日期转换方法

最近在用SpringMvc做Http接口时,对方在调用我接口时发现Date格式的默认转化为long,因此在前端页面看到的是一串数字。

我们可以自定义代码的转换器,返回数据到前台的时候就可以按照我们的需要返回格式化后的字符串类型数据。

package com.cnpc.mall.web.utils; 

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date; 

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider; 

public class CustomDateSerializer extends JsonSerializer<Date>
{ 

  @Override
  public void serialize(Date value, JsonGenerator jgen,
      SerializerProvider provider)
    throws IOException, JsonProcessingException
  {
    jgen.writeString(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(value));
  }
} 

注意,有了转换器,千万别忘了在domain字段上加上注解,将jackson在转换json的时候调用我们定义的转换器:

@JsonSerialize(using = CustomDateSerializer.class)
  public Date getLsd06() {
    return lsd06;
  } 

这里我加到get方法上,返回前端的时候就会调用我们定义的转换器了。

以上就是小编为大家带来的SpringMVC用JsonSerialize日期转换方法全部内容了,希望大家多多支持我们~

(0)

相关推荐

  • springmvc学习笔记-返回json的日期格式问题的解决方法

    springmvc学习笔记--json--返回json的日期格式问题 (一)输出json数据  springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annotation-driven 2.在依赖管理中添加jackson-mapper-asl <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mappe

  • 详解spring mvc4使用及json 日期转换解决方案

    又到搭新开发环境的时候,总是不免去网上搜下目前最新的框架.spring是web开发必用的框架,于是乎下载了目前最新的spring4.0.3,同时越来越不想用struts2,想试试spring mvc,也将spring-webmvc4.0.3下了下来,投入两天时间学习后,发现还是挺优雅的,特别是从3.0后,spring mvc使用注解方式配制,以及对rest风格的支持,真是完美致极. 下面将这两天研究到的问题做个总结,供参考. 1.request对象的获取 方式1:在controller方法上加入

  • SpringMVC中日期格式的转换

    解决日期提交转换异常的问题 由于日期数据有很多种格式,所以springmvc没办法把字符串转换成日期类型.所以需要自定义参数绑定.前端控制器接收到请求后,找到注解形式的处理器适配器,对RequestMapping标记的方法进行适配,并对方法中的形参进行参数绑定.在springmvc这可以在处理器适配器上自定义Converter进行参数绑定.如果使用<mvc:annotation-driven/>可以在此标签上进行扩展. 1.自定义DataConvertor类, 并实现Convertor接口 p

  • SpringMVC对日期类型的转换示例

    在做web开发的时候,页面传入的都是String类型,SpringMVC可以对一些基本的类型进行转换,但是对于日期类的转换可能就需要我们配置. 1.如果查询类使我们自己写,那么在属性前面加上@DateTimeFormat(pattern = "yyyy-MM-dd")  ,即可将String转换为Date类型,如下 @DateTimeFormat(pattern = "yyyy-MM-dd") private Date createTime; 2.如果我们只负责we

  • spring mvc4的日期/数字格式化、枚举转换示例

    日期.数字格式化显示,是web开发中的常见需求,spring mvc采用XXXFormatter来处理,先看一个最基本的单元测试: package com.cnblogs.yjmyzz.test; import java.math.BigDecimal; import java.util.Date; import java.util.Locale; import org.junit.Test; import org.springframework.context.i18n.LocaleConte

  • Spring MVC自定义日期类型转换器实例详解

    Spring MVC自定义日期类型转换器实例详解 WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查询到数据,然后在jsp页面上格式化,最后展示给用户.但是这次不同,这次我纯属操作数据,没有页面.直接从数据库拿数据给它们返数据.它们给我传数据我持久化数据,说到这里一个小问题就默默的来了. 首先把问题还原一下吧(这是一个数据导出功能),下图中用红框圈

  • SpringMVC用JsonSerialize日期转换方法

    最近在用SpringMvc做Http接口时,对方在调用我接口时发现Date格式的默认转化为long,因此在前端页面看到的是一串数字. 我们可以自定义代码的转换器,返回数据到前台的时候就可以按照我们的需要返回格式化后的字符串类型数据. package com.cnpc.mall.web.utils; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import org.cod

  • 详解SpringMVC中的日期处理和文件上传操作

    目录 日期格式处理 日期格式处理 创建自定义日期转换器 配置自定义转换器 文件上传下载 文件上传 文件下载 日期格式处理 在控制器中使用对象接收数据 前端: <form action="test/add" method="post"> <p>图书名称:<input type="text" name="bookName"/></p> <p>图书作者:<input

  • 解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题

    页面报错: 后台错误: Field error in object 'user' on field 'birthday': rejected value [2013-06-24]; codes [typeMismatch.user.birthday,typeMismatch.birthday,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessag

  • adodb与adodb_lite之比较

    adodb与adodb_lite之比较 作者:欣然随风 adodb出世后得到许多PHPer的肯定和支持,树大招风不知什么时候出了个adodb_lite,说是对adodb缩水版,并且宣称不影响原版的基本功能.出于N种冲动,对其两种进行了一些简单的比较,其结果让人啼笑皆非.以下为对比结果: adodb_lite缺少:   1.FetchNextObject();    // 这个影响倒不是很大   2.DBDate();                // 日期转换方法,没有怎么行!   3.Cac

  • 微信小程序new Date()方法失效问题解决

    iOS系统对js中的new Date()方法有格式要求 let dt = new Date("2019-07-24 19:57") // dt会返回valid Date 正确写法应该是 let dt = new Date("2019/07/24 19:57") 而实际应该过程中日期格式大部分都是2019-07-24这种,所以在实际应用过程中需要用正则对字符串进行预处理 let tm = "2019-07-24 19:57" let dt = ne

  • 微信小程序new Date()方法失效问题解决方法

    iOS系统对js中的new Date()方法有格式要求 let dt = new Date("2019-07-24 19:57") // dt会返回valid Date 正确写法应该是 let dt = new Date("2019/07/24 19:57") 而实际应该过程中日期格式大部分都是2019-07-24这种,所以在实际应用过程中需要用正则对字符串进行预处理 let tm = "2019-07-24 19:57" let dt = ne

  • C#日期格式强制转换方法(推荐)

    C#编写winform程序时,用到的,格式强转,存储到数据库,数据库连接那块就不写了 希望对大家有帮助,欢迎评论互相分享技术! //日期格式强制转化 string str1 = deStartDate.EditValue.ToString(); DateTime date; DateTime.TryParse(str1, out date); str1 = date.ToString("yyyy/MM/dd"); string str2 = deDueDate.EditValue.To

随机推荐