三种方式:
1,局部处理
标签
注解
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;
/**
* @description 自定义返回JSON 数据格中日期格式化处理
* @author aokunsang
* @date 2013-5-28
*/
public class CustomDateSerializer extends JsonSerializer<Date> {
@Override
public void serialize(Date value,
JsonGenerator jsonGenerator,
SerializerProvider provider)
throws IOException, JsonProcessingException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jsonGenerator.writeString(sdf.format(value));
}
}
@JsonSerialize(using = CustomDateSerializer.class)
public Date getCreateDate() {
return createDate;
}
(2)@datetimeformate()
mapper.xml配置文件中的类型改为datedemic
2,全局处理
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true" >
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>text/plain;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.esteel.until.CustomJacksonObjectMapper" />
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
package com.esteel.until;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.module.SimpleModule;
/**
* 设置json到java对象互相转换时的规则
* @author wanglei
*/
public class CustomJacksonObjectMapper extends ObjectMapper {
public CustomJacksonObjectMapper(){
super();
this.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, false);
this.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
this.setSerializationInclusion(Include.ALWAYS);
this.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
//json中存在字段,但JAVA中没有的
this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
SimpleModule module = new SimpleModule();
module.addSerializer(new DealDate(Date.class));
// module.addSerializer(new JsonDoubleSerializer(Double.class));
this.registerModule(module);
}
class DealDate extends JsonSerializer<Date> {
public DealDate(Class<Date> date) {
super();
}
public Class<Date> handledType() {
return Date.class;
}
@Override
public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonProcessingException {
// TODO Auto-generated method stub
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jgen.writeString(sdf.format(value));
}
}
}
3,jsp页面处理
<td><fmt:formatDate value="${item.chkTime}" pattern="yyyy-MM-dd HH:mm:ss" /></td>
4,java处理
public static final String PATTERN_DATE = "yyyy-MM-dd";
SimpleDateFormat sdf = new SimpleDateFormat(PATTERN_DATE);
一般有3,4处理即可
数据库处理
数据字段类型:
CHK_TIME : DATE
SELECT C.* FROM TB_CUS_FIRM_CHG C WHERE 1 = 1 AND to_char(C.CHK_TIME, 'yyyy-mm-dd') >= ? AND to_char(C.CHK_TIME, 'yyyy-mm-dd') <= ? order by C.CUSTOMER_KEY asc
Parameters: 2008-06-01(String), 2016-06-20(String), 20(Integer), 0(Integer)
相关推荐
通过以上配置和代码,你应该能够成功地在SpringMVC中处理JSON格式的数据,从而避免406错误。确保所有依赖库都已引入,并正确配置SpringMVC,以实现后台与前台之间的顺利JSON数据交互。在实际项目中,还可能需要考虑...
如果不正确地处理日期格式的转换,可能会导致数据的丢失或错误的结果。因此,了解SpringMVC中日期格式的转换是非常必要的。 在SpringMVC中,日期格式的转换可以通过自定义Converter来实现。Converter是一个接口,...
1. Spring提供了一个名为ThreadPoolTaskExecutor的实现,它基于Java的ExecutorService接口,允许我们自定义线程池配置,如核心线程数、最大线程数、队列容量、超时时间等。 2. 通过在配置文件中声明一个...
总结来说,Spring MVC中的数据格式化是通过 `Converter` 和 `Formatter` 实现的,它们使得我们能灵活地处理不同类型数据的转换,特别是在处理输入和输出数据格式化时,如日期、货币或其他自定义类型。通过自定义这些...
拦截器是 SpringMVC 中的一种回调机制,它们在请求被控制器处理之前或之后执行。通过实现 HandlerInterceptor 接口或继承 AbstractHandlerInterceptorAdapter 类,你可以自定义拦截逻辑。主要方法包括 `preHandle`...
SpringMVC 框架在处理 Ajax 请求时需要注意一些重要的配置和设置,以确保请求的正确处理和数据的正确传输。下面我们将介绍在 SpringMVC 中接收 Ajax 请求的注意事项。 基本数据类型参数传输 在 Ajax 请求中,如果...
本指南提供了 SpringMVC 的核心思想、框架特点、入门示例、参数传递、标签介绍、拦截器、类型转换、JSON 格式数据的输入和输出、文件上传、国际化和本地化、验证等方面的知识点,旨在帮助开发者快速掌握 SpringMVC ...
6. **转换器和格式化器**:SpringMVC允许自定义转换器和格式化器,用于处理不同类型的数据格式,如日期、货币等。 7. **数据绑定**:SpringMVC自动将HTTP请求参数绑定到Controller方法的参数上,反之亦然,将...
使用了FormattingConversionServiceFactoryBean对于传入参数中日期或数字字符串进行数据转换和数据格式化 使用了SpringContextHolder方便在自定义线程中调用spring已经实例的bean,如使用service 使用了urlrewrite ...
7. **转换与格式化**:SpringMVC支持自定义转换器和格式化器,用于处理不同类型的请求参数和响应数据,如日期、货币等的格式化。 8. **RESTful支持**:SpringMVC通过@RequestMapping的pathVariable、MatrixVariable...
尤其是日期类型数据,在JSON中默认会被序列化为时间戳(long值),这样的格式对于前端开发者而言并不友好,尤其是当需要自定义日期格式以适应特定地区或业务需求时。 根据提供的文件信息,解决Spring MVC返回JSON的...
SpringMVC 和 POI 库在企业级应用中经常用于实现文件的导入和导出功能,尤其是处理Excel数据。这两个技术结合使用,可以方便地创建高效、灵活的文件操作解决方案。下面将详细介绍这两个技术以及它们如何协同工作。 ...
当我们在处理日期时间字段时,可能会遇到反序列化时日期格式不一致的问题,导致默认显示为时间戳。本文将详细介绍两种解决Spring MVC中Fastjson反序列化时间格式化的方法。 ### 方法一:实体类字段注解 第一种情况...
在SpringMVC框架中,拦截器(Interceptor)是一种非常重要的机制,它允许我们在请求被控制器处理之前或之后执行自定义逻辑。在本例中,我们将讨论如何使用拦截器来实现用户登录验证以及安全退出功能。 首先,我们...
9. **工具类**:提供了一系列实用的工具类,如字符串操作、日期时间处理、JSON转换等,方便开发者进行日常开发。 10. **源码分析**:由于此jar包包含了源码,开发者可以通过阅读源码学习Jetbrick-SpringMVC的设计...
总结来说,SpringMVC结合JSON库如Jackson,可以轻松地处理JSON格式的数据,实现前后端的数据交互。通过合理的配置和编程,可以极大地提高开发效率和应用性能。在实际项目中,根据具体需求选择合适的JSON库,并结合...
* 作为 SpringMVC 框架的入口点,负责接收和处理请求 * 将请求交给 HandlerMapping 处理器映射器进行处理 HandlerMapping 处理器映射器 * 根据 URL 查找相应的 Handler 处理器 * 可以通过 XML 配置方式或注解方式...
- 处理模型数据的输入输出格式,如日期、数字的格式化。 8. **数据绑定** - SpringMVC自动将请求参数绑定到控制器方法的参数上,反之亦然。 9. **异常处理** - 可以全局或局部定义异常处理器,统一处理异常情况...
- **数据格式化**:通过实现Formatter接口或使用@DateTimeFormat注解来指定日期时间等复杂类型的格式化规则。 - **数据校验**:SpringMVC提供了强大的数据验证机制,可以通过@Validated注解结合JSR303/JSR349标准来...
- **异常处理**:添加合适的异常处理机制,确保在服务异常时能返回友好错误信息。 - **版本管理**:合理规划服务接口版本,避免升级时对现有服务造成影响。 - **监控和日志**:集成监控工具,如Zipkin或Skywalking,...