当前位置 : 主页 > 编程语言 > java >

如何从JSP或Java代码传递JasperReport中的参数值?

来源:互联网 收集:自由互联 发布时间:2021-06-25
我已成功创建报告并成功导出为 HTML和PDF.然而,这是一个静态报告.我有一个查询: select * from personal where id= 'val' 我想在运行时从Java / JSP发送此参数“val”.这该怎么做 ? 创建包含参数的
我已成功创建报告并成功导出为 HTML和PDF.然而,这是一个静态报告.我有一个查询:

select * from personal where id= 'val'

我想在运行时从Java / JSP发送此参数“val”.这该怎么做 ?

创建包含参数的Map,并将参数作为键值对.

Map parametersMap = new HashMap();  
parametersMap.put("id",7);

从JSP生成Jasper Report时:

JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport, parametersMap, jdbcConnection);

其中parametersMap中的键与报表模板中定义的参数非常相似.

因此,在报告模板(jrxml)中声明参数:

<parameter name="id" class="java.lang.Integer"/>

在Jasper Report中查询查询中的参数

select * from personal where id= $P{id}
网友评论