Java jasper从jasper报告加载报告
我正在从.jasper文件加载jasper报告文件,以提高性能,如下所示Java jasper从jasper报告加载报告,java,jasper-reports,Java,Jasper Reports,我正在从.jasper文件加载jasper报告文件,以提高性能,如下所示 JasperReport rpt = (JasperReport)JRLoader.loadObjectFromFile(location); 但我现在有一个要求,即动态生成的查询必须设置为.jasper(编译)文件。有没有办法做到这一点?这是一种针对JRXML文件的黑客攻击方法。JRXML文件包含您的查询。您可以在此处编写Java代码或任何其他代码来替换/写下您的查询: MongoDB查询示例: <querySt
JasperReport rpt = (JasperReport)JRLoader.loadObjectFromFile(location);
但我现在有一个要求,即动态生成的查询必须设置为.jasper(编译)文件。有没有办法做到这一点?这是一种针对JRXML文件的黑客攻击方法。JRXML文件包含您的查询。您可以在此处编写Java代码或任何其他代码来替换/写下您的查询: MongoDB查询示例:
<queryString language="MongoDbQuery">
{'collectionName':'customer'}
</queryString>`
{'collectionName':'customer'}
`
像这样的东西
爪哇
jrxml
您可以使用$p!(带感叹号的参数),可用于条件查询。
使用它,您可以根据特定条件创建动态查询。
您可以在ireport中打开.jasper文件,这样您就可以加载并编辑.jasper文件。与论坛网站不同,我们不使用“谢谢”或“感谢任何帮助”或签名。顺便说一句,这是“提前感谢”,而不是“提前感谢”。
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);
<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>