簡體   English   中英

jasper 報告從 jasper 加載報告

[英]jasper reports loading report from jasper

我正在從 .jasper 文件加載 jasper 報告文件以提高性能,如下所示。

JasperReport rpt = (JasperReport)JRLoader.loadObjectFromFile(location);

但我現在有一個要求,必須將動態形成的查詢設置為 .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);

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>

您可以使用 $P! (帶感嘆號的參數)可用於條件查詢。 使用它,您可以根據某些條件制作動態查詢。 可以在此處找到相同的指南

這是 JRXML 文件的 hack 方法。 JRXML 文件包含您的查詢。 您可以在此處編寫 Java 代碼或任何其他代碼來替換/記下您的查詢:

示例 MongoDB 查詢:

<queryString language="MongoDbQuery">
    {'collectionName':'customer'}
</queryString>`

只需在 ireport 中打開 .jasper 文件,您就可以加載 .jasper 文件並對其進行編輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM