是否可以在JasperReports中的jrxml文件中的queryString标签中使用参数?

Vic*_*cky 3 java jasper-reports

我正在编写一个JasperReports程序,我希望将查询外部化到属性文件。

我将查询作为字符串注入到我的 Java 程序中。

jrxml文件中我有以下语句:

<parameter name="mySqlQuery" class="java.lang.String"/>

<queryString> 
    <![CDATA[$P{mySqlQuery}]]>
</queryString>
Run Code Online (Sandbox Code Playgroud)

Java程序有以下内容:

hashmap.put("mySqlQuery", this.mySqlQuery);

JasperReport jasperReportMyClass = JasperCompileManager.compileReport(this.reportMyClass);
JasperPrint jasperPrintMyClass = JasperFillManager.fillReport(jasperReportMyClass, hashmap, con);
jprintList.add(jasperPrintMyClass);
Run Code Online (Sandbox Code Playgroud)

然后我将其导出到 Excel。

如果我直接在JRXML queryString标记中硬编码相同的查询,则效果很好。

谢谢阅读!

Ale*_*x K 5

是否可以在 jasper 报告中的 jrxml 文件中的 queryString 标记中使用参数?

对的,这是可能的。

尝试使用$P!{mySqlQuery}表达式而不是$P{mySqlQuery}在 jrxml 文件中。

您可以在此处阅读详细信息。