Jasper reports 从jrxml文件中的jrxml编译jasper文件?可能吗?

Jasper reports 从jrxml文件中的jrxml编译jasper文件?可能吗?,jasper-reports,ireport,Jasper Reports,Ireport,我有一个jrxml文件,想添加一个子报表表达式。但我只有myFile.jrxml,无法传递jasper文件。是否可以将我的jrxml文件编译为jasper文件,而不是使用java代码,而是在当前的jrxml文件中?如果可能的话,如何做到这一点 <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR}+"/myFile.jasper"]]></subreportExpressio

我有一个jrxml文件,想添加一个子报表表达式。但我只有myFile.jrxml,无法传递jasper文件。是否可以将我的jrxml文件编译为jasper文件,而不是使用java代码,而是在当前的jrxml文件中?如果可能的话,如何做到这一点

<subreportExpression  class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR}+"/myFile.jasper"]]></subreportExpression>

我试过:

<subreport  isUsingCache="true">

<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
          <subreportExpression  class="net.sf.jasperreports.engine.JasperReport"><![CDATA[net.sf.jasperreports.engine.JasperCompileManager.compileReport(net.sf.jasperreports.engine.xml.JRXmlLoader.load($P{SUBREPORT_DIR} + "myFile.jrxml"))]]></subreportExpression>

</subreport>

但是发生了一个错误: 严重:计算表达式时出错:
源文本:net.sf.jasperreports.engine.JasperCompileManager.compileReport(net.sf.jasperreports.engine.xml.jrxmloader.load($P{SUBREPORT_DIR}+“myFile.jrxml”)

根据我在《终极指南》中阅读的内容,答案是不可能的。为什么无法将子报表编译为jasper文件?

是的,有可能,我不知道这里使用的代码,只需打开iReport 5.0即可。打开
.jrxml
文件,它将在屏幕上显示转换选项。给出保存
.jasper
文件的路径。现在您有了
.jrxml
,它是可编辑的
jasper


<subreportExpression>
  <![CDATA[JasperCompileManager.compileReport($P{SUBREPORT_DIR}+"/myFile.jrxml")]]>
</subreportExpression>

因为我应该从父jrxml传递一些参数。您可以将参数传递给jasper文件,而不必将参数传递给jrxml然后进行编译。只要把你的参数传给jasper,你应该会没事的。谢谢你,这对我很有用。似乎是这个问题的最佳答案。