1

我正在使用 grails,并且我有这个 Jasper 报告,其中包含一个子报告。有这个简单的两个碧玉报告

注意:只有 .jrxml 是 /web-app/reports 中文件的文件扩展名

主报告 [main_report][子报告区域]

<subreport>
   <reportElement x="0" y="0" width="555" height="157"/>
   <subreportExpression>
      <![CDATA[$P{SUBREPORT_DIR} + "test_report.jasper"]]>
   </subreportExpression>
</subreport>

测试报告 [test_report][title.band]

<staticText>
   <reportElement x="203" y="30" width="154" height="34"/>
   <textElement/>
   <text><![CDATA[Hello World]]></text>
</staticText>

并查看视图或 gsp 文件我有这个命令

<g:jasperReport jasper="main_report"
                format="pdf, html"
                delimiter=" "/>

当我想查看 HTML 格式的 PDF 报告时,报告会返回一个空白页。我是否缺少main_report使用子报告正确显示的内容test_report

4

1 回答 1

2

你需要:

  1. .jasper确保编译子报告(在 iReport 中执行此操作),即在报告目录中应该有一个用于子报告的文件。
  2. 在生成报告之前设置 SUBREPORT_DIR 参数,例如

params.SUBREPORT_DIR = servletContext.getRealPath('/reports') + "/"

(假设编译好的子报表在<app>/web-app/reports目录下,和未编译的报表一样)。

于 2012-07-04T10:21:08.863 回答