我有一个jrxml文件,并希望添加一个子报表表达式。但是我只有myFile.jrxml,并且不能传递一个jasper文件。是否有可能将我的jrxml文件编译为不是使用java代码的jasper文件,而是使用当前的jrxml文件?如果可能的话,如何做到这一点?从jrxml文件中编译jrxml的jasper文件?可能吗?
<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.JRXmlLoader.load($ P {SUBREPORT_DIR} +“myFile.jrxml”))
因为我应该从父级jrxml传递一些参数。 – 2011-02-16 18:28:38
您可以将参数传递给jasper文件,您不必将参数传递给jrxml然后编译。只需将你的参数传给碧玉,你应该没问题。 – Sean 2011-02-16 18:42:26