我们希望生成报告,嵌入为Web应用程序中的html页面,或者作为pdf下载.因此我遇到了JasperReports,因为它认为它会满足这些要求.
目前我们假设我们的报告将有大约50-100页,几乎只包括直方图和一些表.我们的数据库中的一些昂贵查询会检索数据.
在对它进行评估之后,我对网络应用程序方面有几个疑问.
1)分页:当然我不想在一个网页中显示所有页面.我们需要像分页这样的东西.但JasperReports似乎不支持这种方法.与JasperReports一起提供的wepp演示概述了方法:我必须创建一个JasperPrint,它已经是完整的报告,分配了不需要的内存,并执行了昂贵的查询.然后我可以显示一个页面.但是对于每个页面一次又一次地这样做对我来说并不是一个合适的解决方案.
2)如上所述,我们的报告主要包括图表.在将JasperPrint导出为其输出格式期间生成图像.如果我理解一切正确,那么随JR一起提供的ImageServlet能够检索这些图像
i)从文件系统读取生成的图像
ii)导出器将它们存储在会话中(因此在存储器中).
因为我认为我们将有很多图像ii)不是一个选项,如果我们想要保持webapp的内存占用率低.但另一方面,文件系统充斥文件也不是我能想到的最好的主意.是什么时候删除文件?
我弄错了吗?我的理解是正确的吗?