我在JasperStudio中设置了一个报告,该报告应该接收报告标题和查询作为参数,然后填写报告。
使用默认查询值,可以从Jasper Studio正确填充报告。我已经定义了一个允许通过Jaspersoft Studio正确行为的数据适配器(DB.xml)。
如果我尝试用Java填写报告,请使用
之类的内容JasperFillManager.fillReport(fileIn, parameters, new JREmptyDataSource());
如果参数包含标题和查询的两个字符串,则导出的pdf将具有正确的标题,但没有关于列的信息,这似乎表明fillReport不知道BD适配器。
我是否必须将其传递给其他参数?我应该将适配器xml文件放在特定的位置吗?
答案 0 :(得分:0)
如果要在JSS外部使用数据适配器,则必须将报告中的net.sf.jasperreports.data.adapter属性设置为数据适配器xml所在的文件系统路径或类路径资源。
填写报表时不应传递数据源,请使用仅将报表和参数映射为参数的fillReport方法。