我正在考虑将JasperReports嵌入到现有的Web应用程序中进行报告.webapp位于现有数据库之上,这个数据库古老而复杂,并且不适合报表编写者直接编写报表.
我想看的是在我们现有的数据访问层周围编写一些包装器(为了让我们的生活更轻松地与上述古老和复杂的数据库进行交谈而编写).有没有人有为JasperResports编写自定义数据源的经验,或做过这样的事情?
更新
我想我可能在我的问题中并不清楚 - 这可能是因为我的要求也不清楚.我想提供一些方法,最终用户可以使用像iReport这样的东西来编写针对数据库的报告,然后使用JasperReportServer来安排/查看报告.但是,数据库确实非常糟糕,并且从未设计过以这种方式使用.我们周围有一个访问层,webapp用它来与之交谈.我想让我的最终用户完全远离数据库,并且使用访问层的自定义数据源的想法似乎是一个不错的选择.但是,我发现很少有关于如何做到这一点的文档.也许它比我想象的要容易得多,而我只是想让一个简单的事情变得太复杂.
更新
谢谢你的回答.我认为我的问题没有解决,但我认为答案有助于告知需求阶段.
每个 JasperReports 模板都可以有两个不同的数据源。一种是使用一些 jdbc 驱动程序将其直接连接到数据库,或者在您的情况下,提供 java beans(POJO)的集合(通常是列表)。
JasperReports 模板类似于方法定义。它有一个名称,即编译后的JR对象和参数(数据源和一些最流行的Java类型的输入参数列表)。
我的建议是使用iReport工具。打开 JasperReports 捆绑包附带的一些示例,对其进行分析和调整。事情没那么复杂。
更新
让客户创作 JasperReports 模板、编译并添加到类路径意味着您需要过多地开放系统。通常,客户提供所需报告的描述,开发人员创建数据源并设计模板。JasperReports 可以有参数。如果这些参数通过 UI 公开,用户可以在运行时更改报表的行为。
如果您确实需要更大的灵活性,请使用 JasperReports 提供的 API 来创作模板。我可以想象一些简单的 DLS,供高级用户与您的系统进行通信,创建即时报告。
| 归档时间: |
|
| 查看次数: |
10758 次 |
| 最近记录: |