如何从JSP或Java代码传递JasperReport中的参数值? [英] How to pass parameter value in JasperReport from JSP or Java code?

查看:100
本文介绍了如何从JSP或Java代码传递JasperReport中的参数值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已成功创建报告并成功导出到 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆