【发布时间】:2012-10-13 17:09:41
【问题描述】:
我通过 PHP/Java Bridge 使用 JasperReports API。这意味着 PHP 端与 Java 端位于另一台机器上,并且这两个端不共享相同的文件系统。
要加载报告,我必须读取 PHP 中的 .jasper 文件并将其转换为 java.io.InputStream 实例并加载它使用 net.sf.jasperreports.engine.util.JRLoader::loadObject 静态方法。
所以一切正常,直到我的报告 subreports 引用了 Java 端无权访问的文件。所以我的解决方案是访问所有 subreports(使用 net.sf.jasperreports.engine.util.JRElementsVisitor 类),评估 subreport 表达式,使用与主报告,但它在主报告的参数中。
然后,这是我的问题,我不知道如何更改 JRBaseSubreport 表达式以指向新添加的参数。
所以我的问题是,如何更改 JRBaseSubreport 表达式?
【问题讨论】:
标签: java jasper-reports subreport php-java-bridge