我使用Jasper报告生成报告。 在queryString中的JRXML文件中,形成的查询是
SELECT * FROM Address WHERE city = $P{customerId}
现在我的servlet里面请告诉我如何动态传递这个值?
int custid = Integer.parseInt(request.getParameter("customerId")) ;
Map parameters = new HashMap();
parameters.put("customerId", custid);
请告诉我这是传递数据的正确方法吗?
答案 0 :(得分:0)
您可以实现自己的数据源(必须是net.sf.jasperreports.engine.JRDataSource接口实现)。
填写(准备)数据源后,应将其传递给JasperFillManager.fillReport(java.lang.String sourceFileName, java.util.Map parameters, JRDataSource jrDataSource)方法。
样本:
JRMapArrayDataSource dataSource = new JRMapArrayDataSource(data);
JasperPrint jasperPrint = JasperFillManager.fillReport(sourceFileName, paramsMap, dataSource);