gpt4 book ai didi

jasper-reports - 在 JasperServer 中部署子报表

转载 作者:行者123 更新时间:2023-12-04 04:29:12 25 4
gpt4 key购买 nike

我已经创建了一个框架和子报告以与 APEX 集成并改进到我准备在 JasperServer 上部署的程度。不知何故,确切的语法打败了我。我已经尝试了以下问题所表明的所有变体,但似乎没有任何效果。顺便说一句,我正在使用 Glassfish,但我认为这并不重要。以下是我的问题:

  • 部署子报表时,我是部署为报表还是 JRXML 文件?
  • 我是否需要为子报告设置输入控件,如框架报告所传递的那样?
  • 只要我传递正确的 SUBREPORT_DIR,我在哪里部署子报表(文件夹结构)是否重要?框架的参数?
  • 在那SUBREPORT_DIR ,我尝试了几种不同的方法。首先,出于调试目的,我将默认值作为本地框上的绝对路径,并在 URL 中传递我想要的值(即 ...&SUBREPORT_DIR=/Subreports/...)。我还尝试将默认值设置为我想要的路径。两者都不起作用,但前者是否应该和后者一样有效?
  • 传递 SUBREPORT_DIR 的实际语法是什么? ?我已将框架报告部署为“/reports/frame”,将子报告部署为“/reports/Subreports/sub”,因此我传递了“repo:/Subreports/”(URL 中没有引号,默认情况下有引号)在框架上)。

  • 我的框架和子在 iReport 中使用我传递的相同参数工作,但它们根本无法通过 URL 工作。我可以在 JasperServer 下将 sub 作为报告加载,将 params 框架传递给它,然后让它工作,但是当我尝试运行框架时,没有骰子。

    在此先感谢您的所有帮助,我希望在正确配置后偿还。

    最佳答案

    OP的发现。

  • 子报表需要作为 JRXML 文件部署在存储库中。它将在存储库 View 的相应列中显示"file"。
  • 您不需要为子报表设置输入控件。框架报告只需要它使用的那些输入控件,而不需要子报告参数。
  • 只要您传递正确的 SUBREPORT_DIR,您就可以将子报告放在您想要的任何位置,但请记住,框架报告将完全按照您指定的名称引用该子报告。我的两个问题之一(另一个请参见上面的 #1)是在默认路径中指定扩展名。这在 iReport 中是正确的,但在服务器端是错误的。
  • SUBREPORT_DIR可以作为参数传递并按宣传的方式工作。
  • SUB_REPORT_DIR 的正确路径,我现在使用它作为默认参数,类似于 "repo:/reports/Subreports/" .因此,详细信息下的子报表表达式为:$P{SUBREPORT_DIR} + "five_col_sub".见上面的#3。

  • 没有那么棘手,真的,但也不完全直观。我的同事指出“repo:”是 JasperServer Repository 的缩写。现在看起来很明显,但我假设它的意思是“报告”,因此任何带有子报告的报告和子报告本身都必须存在于/reports/目录下,但事实并非如此。

    关于jasper-reports - 在 JasperServer 中部署子报表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8330273/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com