vic*_*cky 4 java jasper-reports
我已成功创建报告并成功导出到HTML和PDF.然而,这是一个静态报告.我有一个查询:
select * from personal where id= 'val'
Run Code Online (Sandbox Code Playgroud)
我想Java/JSP在运行时发送此参数"val" .这该怎么做 ?
Har*_*hra 15
创建包含参数的Map,并将参数作为键值对.
Map parametersMap = new HashMap();
parametersMap.put("id",7);
Run Code Online (Sandbox Code Playgroud)
从JSP生成Jasper Report时:
JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport, parametersMap, jdbcConnection);
Run Code Online (Sandbox Code Playgroud)
parametersMapshoud 中的键与报表模板中定义的参数相同.
因此,在报告模板(jrxml)中声明参数:
<parameter name="id" class="java.lang.Integer"/>
Run Code Online (Sandbox Code Playgroud)
在Jasper Report中查询查询中的参数
select * from personal where id= $P{id}
Run Code Online (Sandbox Code Playgroud)
小智 0
您不能选择 *,您必须指示要从中获取数据的列名称。使用commDB.query执行查询,然后将结果传递给commDBResult,运行循环,将每一行记录放入数组列表中,然后使用jasper生成报告