struts2 Json超长丢数据( struts2-json-plugin)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cb905259982/article/details/77962577

先描述下今天遇到的问题,查询一个list 以json形式传到页面表格展示,数据多的时候整个页面会取不到数据;

博主断点了两遍发现后台代码和SQL毫无问题,最后在页面审查中发现界面没有数据;这就奇怪了;数据少的时候有,多了就没了;

在response里看了下 发现返回的数据最后少了一个"}";

就是少了一个" } ";应该是json传过来丢了数据了;

项目用的是struts2  json数据处理用的是struts2-json-plugin-2.3.7.jar插件

在原有Struts2框架jar包的引入下,额外多加一个Json的插件包(struts2-json-plugin-2.3.7.jar

在struts.xml中配置

<package name="xxx" extends="json-default">
<result name="success" type="json"></result>

在Java代码中设置传递参数时候会有两个选择一种在发送 json 数据时设置一个 content-length 的参数,即要发送的数据的字节数

;若指定 content-length 即使接收到的字节数大于该值  则浏览器会只读取指定的字节数;

另一种是不指定发送字节数,需要指定参数 enableGZIP=true 则会走第一个分支不再设置 content-length 参数,

在浏览器接收参数中可以发现有参数 Transfer-Encoding=chunked;而 http 中如果存在参数 Transfer-Encoding=chunked 则即使存在参数 content-length 参数失效;

下图为限定json长度:


下图为不限定长度:





猜你喜欢

转载自blog.csdn.net/cb905259982/article/details/77962577