springMvc与fastJson 集成时日期格式的问题
2016-05-09 14:26
543 查看
第一种重写方法:
第二种重写方法:
然后,将springMVC.xml(具体文件名以项目而定) 的配置修改为如下, 引用重写了writeInternal()方法的类进行json序列化
package com.jjs.util; import java.io.IOException; import java.io.OutputStream; import java.util.Date; import org.springframework.http.HttpOutputMessage; import org.springframework.http.converter.HttpMessageNotWritableException; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializeConfig; import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; /** * 自定义fastJson日期转换格式 * 将默认的"yyyy-MM-dd HH:mm:ss"格式改为 "yyyy-MM-dd"格式 * @author jjs * */ public class JsonHttpMessageConverter extends FastJsonHttpMessageConverter{ private static SerializeConfig mapping = new SerializeConfig(); private static String dateFormat; static { dateFormat = "yyyy-MM-dd"; mapping.put(Date.class, new SimpleDateFormatSerializer(dateFormat)); } @Override protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { // TODO Auto-generated method stub OutputStream out = outputMessage.getBody(); String text = JSON.toJSONString(obj, mapping, this.getFeatures()); byte[] bytes = text.getBytes(this.getCharset()); out.write(bytes); } }
第二种重写方法:
package com.jjs.util; import java.io.IOException; import org.springframework.http.HttpOutputMessage; import org.springframework.http.converter.HttpMessageNotWritableException; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; public class JsonHttpMessageConverter extends FastJsonHttpMessageConverter { @Override protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { // TODO Auto-generated method stub JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH"; JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat); super.writeInternal(obj, outputMessage); } }
然后,将springMVC.xml(具体文件名以项目而定) 的配置修改为如下, 引用重写了writeInternal()方法的类进行json序列化
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> --> <bean class="com.jjs.util.JsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json</value> </list> </property> <property name="features"> <list> <value>WriteDateUseDateFormat</value> <value>WriteMapNullValue</value> <value>QuoteFieldNames</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
相关文章推荐
- fastjson处理接口时的一个问题
- 无线网卡安装DIY
- Spring MVC--拦截器实现和用户登陆例子
- SpringMVC源码解读之HandlerMapping - AbstractUrlHandlerMapping系列request分发
- Java简单实现SpringMVC+MyBatis分页插件
- SpringMVC文件上传 多文件上传实例
- SpringMVC restful 注解之@RequestBody进行json与object转换
- SpringMVC源码解读之HandlerMapping
- spring mvc4的日期/数字格式化、枚举转换示例
- SpringMVC源码解读之 HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化
- 解决springmvc+mybatis+mysql中文乱码问题
- SpringMVC上传图片与访问
- SpringMVC入门小程序 -- Myeclipse 9.1下
- SpringMVC+Spring3+Hibernate4
- SpringMVC+MyBatis项目总结(一)
- SpringMVC+MyBatis项目总结(三)
- SpringMVC+MyBatis项目总结(四)
- springMVC+spring+Mybatis
- SpringMVC+mybatis+Spring框架整合+简单实现的demo
- Springmvc与jasperreport结合生成报表的一种方法 4000