[英]jasper reports loading report from jasper
I'm loading the jasper reports file from .jasper file to improve the performance as below.我正在从 .jasper 文件加载 jasper 报告文件以提高性能,如下所示。
JasperReport rpt = (JasperReport)JRLoader.loadObjectFromFile(location);
but I have a requirement now, that a query which is formed dynamically has to be set to .jasper (compiled) file.但我现在有一个要求,必须将动态形成的查询设置为 .jasper(编译)文件。 is there a way to do the same?
有没有办法做到这一点?
Something like this?像这样的东西?
Java爪哇
JasperReport rpt = (JasperReport)JRLoader.loadObject(Your .jasper file path);
Map paramMap = new HashMap();
paramMap.put("p_sql", "select * from baztable where foo='bar' and fuga='hoge' order by username");
// pass the dynamic query to .jasper file.
JasperPrint print = JasperFillManager.fillReport(rpt, paramMap, connection);
jrxml xml文件
<parameter name="p_sql" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["select * from baztable order by username"]]></defaultValueExpression>
</parameter>
<queryString>
<![CDATA[$P!{p_sql}]]>
</queryString>
This is a hack method for the JRXML file.这是 JRXML 文件的 hack 方法。 The JRXML file has your query.
JRXML 文件包含您的查询。 You can write a Java code or any other code to replace/write down your Query here:
您可以在此处编写 Java 代码或任何其他代码来替换/记下您的查询:
Sample MongoDB Query:示例 MongoDB 查询:
<queryString language="MongoDbQuery">
{'collectionName':'customer'}
</queryString>`
只需在 ireport 中打开 .jasper 文件,您就可以加载 .jasper 文件并对其进行编辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.