如何从JSP或Java代码传递JasperReport中的参数值? [英] How to pass parameter value in JasperReport from JSP or Java code?
问题描述
我已成功创建报告并成功导出到 HTML
和 PDF
。然而,这是一个静态报告。我有一个查询:
I have successfully created a report and successfully exported to HTML
and PDF
. However it is a static report. I have a query as:
select * from personal where id= 'val'
我想在运行时从 Java / JSP
发送此参数val。怎么做?
I want to send this parameter "val" from Java/JSP
at runtime. How to do this ?
推荐答案
创建一个包含参数的Map,并将参数作为键值对。
Create a Map containing parameters and put parameters as key value pair.
Map parametersMap = new HashMap();
parametersMap.put("id",7);
从JSP生成Jasper报告时:
When generating Jasper Report from JSP:
JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport, parametersMap, jdbcConnection);
其中 parametersMap
中的键应为与报告模板中定义的参数相同。
where the keys in the parametersMap
shoud be excatly the same as the parameters defined in your report template.
因此,在报告模板中声明参数(jrxml):
So, Declare the parameter in your report template (jrxml):
<parameter name="id" class="java.lang.Integer"/>
在Jasper报告中查询中传递参数
Pass parameter in query in Jasper Report
select * from personal where id= $P{id}
这篇关于如何从JSP或Java代码传递JasperReport中的参数值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!