package com.jynine.service;
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.ObjectMapper;
import org.codehaus.jackson.map.SerializerProvider;
import org.codehaus.jackson.map.ser.CustomSerializerFactory;
import org.springframework.stereotype.Component;
/**
*
* <p>Title: CustomObjectMapper.java</p>
* <p>Description:解决SpringMVC使用@ResponseBody返回json时,日期格式默认显示为时间戳的问题 </p>
* @author jynine
* @date 2014-11-14
*/
@Component("customObjectMapper")
public class CustomObjectMapper extends ObjectMapper{
public CustomObjectMapper() {
CustomSerializerFactory factory = new CustomSerializerFactory();
factory.addGenericMapping(Date.class, new JsonSerializer<Date>() {
@Override
public void serialize(Date arg0, JsonGenerator arg1,
SerializerProvider arg2) throws IOException,
JsonProcessingException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
arg1.writeString(sdf.format(arg0));
}
});
this.setSerializerFactory(factory);
}
}
servlet-context.xml中添加
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonConverter"/>
</list>
</property>
</bean>
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json" />
<property name="objectMapper" ref="customObjectMapper"></property>
</bean>
分享到:
相关推荐
在开发Web应用时,我们经常会遇到一个问题:当使用Spring MVC的`@ResponseBody`注解将后端处理结果直接转化为HTTP响应体时,如果这个结果中包含HTML特殊字符,如尖角号、引号、按位与符号等,浏览器可能会误解析,...
在Spring Boot应用中,当你使用`@ResponseBody`注解将对象转换为JSON并发送到客户端时,日期(Date)类型的字段通常需要特殊处理,因为它们默认可能会被转换为Unix时间戳或者不友好的格式。本篇文章主要介绍了两种...
本文将详细讨论如何在Spring MVC中针对`ResponseBody`返回的JSON数据进行脱敏处理。 首先,我们需要了解`ResponseBody`注解的作用。在Spring MVC中,当控制器方法的返回值前加上`@ResponseBody`时,Spring会将返回...
实际开发中,常常需要返回一个对象,这时Spring MVC会自动使用配置好的消息转换器来将Java对象序列化为JSON字符串,然后返回给客户端。 ### 控制器层与前端交互示例 ```java @RequestMapping("House/ClassManager/...
--处理 @ResponseBody 中文乱码问题 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- Support...
标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...
例如,如果你的控制器方法返回一个Java对象,添加`@ResponseBody`后,Spring会使用内置的HttpMessageConverter将对象转换为JSON字符串,使得前端可以解析。这对于RESTful API的开发尤其重要,因为它允许我们以数据...
它包括`ObjectMapper`类,可以方便地将Java对象转换为JSON字符串,反之亦然。在Spring MVC中,`@ResponseBody`注解就是依赖于`ObjectMapper`进行JSON序列化和反序列化的。 - **jackson-core**:这个模块提供了基础...
- Spring MVC默认提供了多种Converter,例如:StringHttpMessageConverter(处理字符串)、MappingJackson2HttpMessageConverter(处理JSON数据)、Jaxb2RootElementHttpMessageConverter(处理XML数据)等。...
例如,如果请求体是JSON格式,Spring会使用默认的`HttpMessageConverter`(如`MappingJackson2HttpMessageConverter`)将JSON字符串转换为Java对象。 ```java @PostMapping("/saveUser") public ResponseEntity ...
综上所述,`@ResponseBody`是Spring MVC中实现数据返回的关键组件,它使得我们可以方便地构建RESTful服务,与各种数据格式进行交互。理解其工作原理和使用方式,有助于我们更好地设计和实现高效的Web应用程序。
在Spring MVC框架中,使用`@ResponseBody`注解可以方便地将控制器方法的返回值转换为JSON格式,然后发送到客户端。本篇文章将详细介绍如何在Spring MVC的XML配置中设置,以便让`@ResponseBody`自动将Java对象转换为...
在标题中提到的"对json格式的数据进行封装和转化",这是一个关键的Web开发技能,涉及到如何将Java对象转化为JSON字符串,以便于在网络中传输。在Java中,我们通常会使用如Jackson或Gson这样的库来完成这个任务。...
然而,当返回的字符串中包含中文字符时,如果没有正确设置编码,就可能导致乱码问题。本文将详细介绍如何解决SpringMVC中`@ResponseBody`注解返回中文乱码的问题。 首先,我们可以尝试使用`@RequestMapping`注解的`...
spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法 在使用 Spring+Mybatis 框架时,经常会遇到一个问题,就是通过 @ResponseBody 返回结果时,中文字符会出现乱码的问题。这是因为在 Spring MVC 中,...
为了返回JSON响应,只需在控制器方法中返回Java对象,Spring MVC会自动调用合适的HttpMessageConverter(如`MappingJackson2HttpMessageConverter`)将对象转换成JSON字符串,并设置响应内容类型为`application/json...
这意味着,当客户端发送请求时,Accept 请求头中指定的媒体类型将决定 @ResponseBody 的输出格式。 让我们来深入了解 @ResponseBody 的工作机理。@ResponseBody 的工作机理是通过 ...
例如,异步获取 JSON 数据,加上 @Responsebody 注解后,就会直接返回 JSON 数据。这种情况下,浏览器并不会跳转到新的页面,而是将响应结果直接返回给浏览器,而浏览器可以根据需要对响应结果进行处理。 以下是一...
4. **控制器方法的编写**:在 Spring MVC 的控制器类中,我们可以定义处理 HTTP 请求的方法,并使用 `@RequestBody` 和 `@ResponseBody` 注解来接收和返回 JSON 数据。例如: ```java @RequestMapping(value = "/...
在Spring MVC框架中,开发人员经常需要处理不同的数据交换格式,如XML和JSON,以便与客户端进行交互。这两种格式在Web应用中广泛用于传输数据,因为它们轻量级且易于解析。下面我们将深入探讨如何在Spring MVC中生成...