Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
830 views
in Technique[技术] by (71.8m points)

jasper reports - How to pass parameter value in JasperReport from JSP or Java code?

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' 

I want to send this parameter "val" from Java/JSP at runtime. How to do this ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Create a Map containing parameters and put parameters as key value pair.

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

When generating Jasper Report from JSP:

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

where the keys in the parametersMap shoud be excatly the same as the parameters defined in your report template.

So, Declare the parameter in your report template (jrxml):

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

Pass parameter in query in Jasper Report

select * from personal where id= $P{id}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...