让zheng更完美地支持ajax提交的json数据

1120人阅读 评论(3) 收藏 举报
分类:

我公司采用分布式敏捷架构zheng:https://gitee.com/shuzheng/zheng。不过,在使用过程中,发现并不完美支持从前端提交过来的ajax json数据。

一、使用ajax提交的json数据,我们必须添加produces注解,如下所示。否则将会产生乱码。


二、如果你不想每次都添加produces注解。那么可以采用我提供的方案:打开zheng-common项目的springMVC-servlet.xml文件,找到如下代码:

 <!-- 返回ResponseBody响应类型 -->
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>
修改为:


三、zheng还有一个小bug,就是ajax提交的json日期跟实际日期相差8小时。具体原因请百度,我这里只是讲解下我的解决方案:以下三种方案,任选其一,本人采用最后一种方法。

1、在实体类添加注解,改为北京时间,方式如下:

 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date purchaseDate;

如果采用这种方法,当用逆向工程重新生成代码后,会被覆盖掉。

2、写一个方法类。

public static Date changeTimeZone(Date date) {
		Date dateTmp = null;
		if (date != null) {
			int timeOffset = TimeZone.getTimeZone("Asia/Shanghai").getRawOffset() - TimeZone.getTimeZone("GMT").getRawOffset();
			dateTmp = new Date(date.getTime() - timeOffset);
		}
		return dateTmp;
	}
采用这种方案,每次遇到日期,都要调用一次,非常不方便。

3、仍然打开前面提到的zheng-common项目的springMVC-servlet.xml。将json处理方案改为阿里巴巴的fastJson。

 <!-- 返回ResponseBody响应类型 -->
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
            <ref bean="fastJsonMessageConverter"/>
        </mvc:message-converters>
    </mvc:annotation-driven>
    <bean id="fastJsonMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
    </bean>











查看评论

AJAX跨域请求json数据的实现方法

这篇文章介绍了AJAX跨域请求json数据的实现方法,有需要的朋友可以参考一下 我们都知道,AJAX的一大限制是不允许跨域请求。 不过通过使用JSONP来实现。JSONP是一种通过脚本标记注入的方式,...
  • liuzp111
  • liuzp111
  • 2014-05-29 14:06:03
  • 1686

AJAX如何以POST的方式提交JSON数据到Form

解决方案: var jsonData = { "id": "123"}; $.ajax({ type: "post", url: '/Table/Gri...
  • esunshine1985
  • esunshine1985
  • 2014-03-19 17:39:32
  • 1942

通过Ajax进行Post提交Json数据

js代码 $.ajax({ type : "POST", url : js_path + "/maintainAdd/add", data : JSON.stringify(mad...
  • liyongjian12
  • liyongjian12
  • 2017-02-03 09:12:09
  • 9542

jquery.ajax提交请求并返回json数据

当我们在两个java项目之间互相调用接口时就会遇到跨域请求的问题,这次我开发系统的注册功能后台实现是调用的用户管理中心的接口,前台通过$.ajax请求并处理返回的json数据,其中注意一点就是如果出现...
  • zhujyy110
  • zhujyy110
  • 2013-12-19 15:12:38
  • 2214

form表单的ajax提交【组装json】

关键代码: /** * 将表单序列化 然后转换成json数据 */ var data = $("#editForm").serializeObject(); JSON.stringify(data);...
  • zhengxiangwen
  • zhengxiangwen
  • 2015-06-12 22:59:30
  • 3348

Ajax发送json格式数据到Asp.net MVC服务端的一些代码片段

最近一直做些asp.net mvc的页面,每次前端与后端交互,都要baidu查下代码怎么写,也不去思考为什么这么写,导致每每写这代码,都需要下search下代码。 正好现在有点空闲时间,我就把我写的代...
  • qq_26054303
  • qq_26054303
  • 2016-05-17 17:29:39
  • 1078

通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法

现在在做的项目用到了SpringMVC框架,需要从前端angular接收请求的JSON数据,为了测试方便,所以直接先用AJAX进行测试,不过刚开始用平时用的ajax方法,提交请求会出现415或者400...
  • lsy0903
  • lsy0903
  • 2016-11-17 14:24:28
  • 19782

Ajax提交json格式数据

myAjax.jsp
  • HelloKitty520123
  • HelloKitty520123
  • 2015-11-20 11:11:16
  • 7824

原生js的Ajax提交json数据到后台

原生ajax发送json数据到后台接收(将json转换为name=tom&pwd=123格式的字符串,简单,不在本次测试内),需要做到几点: 1,post方式发送。 2、json对象必须转换为json...
  • zilingkong
  • zilingkong
  • 2017-09-26 10:57:36
  • 1212

ajax提交json数据,后台解析问题

描述:在用json处理数据的时候 遇到问题 后台打印如下信息
  • yongbuyanqi88888
  • yongbuyanqi88888
  • 2014-08-06 17:13:19
  • 1312
    个人资料
    持之以恒
    等级:
    访问量: 3718
    积分: 198
    排名: 90万+
    文章存档
    最新评论