我有一个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.JRXmlLoader.load($ P {SUBREPORT_DIR} +“myFile.jrxml”))
答案 0 :(得分:3)
<subreportExpression>
<![CDATA[JasperCompileManager.compileReport($P{SUBREPORT_DIR}+"/myFile.jrxml")]]>
</subreportExpression>
答案 1 :(得分:2)
根据我在终极指南中所读到的,答案是否定的,这是不可能的。为什么不能将子报表编译为jasper文件?
答案 2 :(得分:1)
是的,有可能,我不知道这里使用的代码,只需打开iReport 5.0。打开.jrxml
文件,它将在屏幕上显示转换选项。提供保存.jasper
文件的路径。现在您已.jrxml
,并且可编辑jasper
。