Post 提交参数过多时子报表无法显示

  • 文档创建者:Kevin-s
  • 编辑次数:3次
  • 最近更新:Roxy 于 2020-08-21
  • 1. 问题描述

    当将 FineReport 部署到 Tomcat 上时,当需要将主表的参数通过网络报表全部传递给子表,选择如下图的设置:

    image.png

    image.png

    点击主表的链接,钻取到子表。而有时候主表有需要大量的传递参数,将参数传递和继承给各个子表,会导致子表无法显示无法运算的问题,页面为空白页面或者如下图所示:

    image.png


    2. 原因分析

    由于 Tomcat 默认的 post 参数的最大大小为 2M, 当超过时将会出错,可以配置 maxPostSize 参数来改变大小。传出的参数大小超过这个限制就会导致上面的问题。

    3. 解决方案

    从 Apache-Tomcat-7.0.63 开始,参数 maxPostSize 的含义就变为: 如果将值设置为 0,表示 POST 最大值为 0,如果将值设置为 -1,表示不限制 post 大小。

    在此版本之前设置为 0 表示不限制 post 大小。

    3.1 Tomcat 7 及以上版本解决方案

    在 Tomcat 文件夹下的 conf 文件中的 server.xml 配置中添加:      

    <Connector port="8080" protocol="HTTP/1.1" 
    connectionTimeout="20000"  
    redirectPort="8443" 
    maxPostSize="-1" 
    maxHttpHeaderSize ="102400"/>

    参数说明:

    maxPostSize="-1"   //-1 表示不限制大小

    maxPostSize:指定 post 方式请求的最大量,没有指定默认为 2097152。

    maxHttpHeaderSize ="102400"          

    maxHttpHeaderSize:HTTP 请求和响应头的最大量,以字节为单位,默认值为 4096 字节


    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!