我想知道如何在Web应用程序中使用Jasper IReports工具生成报告。
我已经安装了IReports并且工作正常。它可以连接到数据库,我已经构建了一些示例报告。我的问题是我不知道如何将这些报告与我的Web应用程序集成。我是否需要将.jasper文件复制到我的应用程序类文件夹或我的Web应用程序的其他部分?
提前致谢。
答案 0 :(得分:3)
要集成Jasper Reports(iReport只是设计Jasper Reports的工具),您需要在类路径中包含以下jar和Jasper Reports jar:
要导出为pdf,您需要:
根据您使用的功能,您可能需要其他罐子,因此请查看Jasper Reports Requirements以了解您可能需要的其他任何内容。
您可以做的最简单的事情是集成您设计的报告的编译版本,可能是将它们包含在源代码的默认包中。我实际上更喜欢在服务器上设置一个新文件夹以放置文件。原因是如果我需要更新报告,您可以轻松复制报告的新编译版本,而无需重新部署应用程序。
最后,您的java代码会将导出报告的字节数组返回给您的前端。在前端,需要为响应类型正确设置标头并返回字节数组。在每个框架中都有不同的做法,所以你应该研究一下你正在使用的那个。
作为java代码如何获取字节数组的示例:
public byte[] exportReport (String reportName,
Connection dbConn,
Map<String, Object> params) throws JRException {
JasperPrint jprint = JasperFillManager.fillReport(
PATH_TO_COMPILED_JASPER_REPORTS+reportName, params, dbConn);
return JasperExportManager.exportReportToPdf(jPrint);
}