如何在Web应用程序中使用Jasper IReports工具生成报告

时间:2012-03-09 10:58:42

标签: web-applications jasper-reports

我想知道如何在Web应用程序中使用Jasper IReports工具生成报告。

我已经安装了IReports并且工作正常。它可以连接到数据库,我已经构建了一些示例报告。我的问题是我不知道如何将这些报告与我的Web应用程序集成。我是否需要将.jasper文件复制到我的应用程序类文件夹或我的Web应用程序的其他部分?

提前致谢。

1 个答案:

答案 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);
}