5

レポート用に JasperReports を既存の Web アプリに埋め込むことを検討しています。Web アプリケーションは、古くて複雑な既存のデータベースの上にあり、レポート作成者が直接レポートを作成するために使用するのには適していません。

私が見たいのは、既存のデータアクセス層の周りにある種のラッパーを書くことです (前述の古くて複雑な db との会話を容易にするために書かれています)。JasperResports のカスタム データ ソースを作成したり、このようなことをした経験のある人はいますか?

更新しました

私の質問はおそらく明確ではなかったと思います-これはおそらく、私の要件も明確ではないためです。エンドユーザーが iReport のようなものを使用してデータベースに対してレポートを作成し、JasperReportServer を使用してレポートのスケジュール/表示を行える方法を提供したいと考えています。しかし、このデータベースは実に厄介で、このような用途向けに設計されたものではありません。その周りには、webapp が対話するために使用するアクセス レイヤーがあります。エンド ユーザーを DB から完全に遠ざけたいと考えており、アクセス レイヤーを使用するカスタム データ ソースのアイデアは良い選択肢のように思えました。ただし、その方法に関するドキュメントはほとんど見つかりませんでした。多分それは私が思っているよりもはるかに簡単であり、単純なことを複雑にしすぎているだけです.

更新しました

答えてくれてありがとう。私の問題が解決されたとは思いませんが、回答は要件フェーズを知らせるのに役立ったと思います。

4

2 に答える 2

4

Jasper レポートでは、「JavaBean」データ ソースを使用できます。データを任意の Java Bean 構造にロードし、それに対してレポートを作成できます。うまくいきます。

こちらの「カスタム データ ソース」セクションを参照してください

于 2009-08-04T09:55:56.983 に答える
3

すべてのJasperReportsテンプレートには、2つの異なるデータソースを含めることができます。1つは、jdbcドライバーを使用してデータベースに直接フックするか、場合によっては、Java Bean(POJO)のコレクション(通常はリスト)を提供することです。

JasperReportsテンプレートは、メソッド定義に似ています。これには名前があります。つまり、コンパイルされたJRオブジェクトとパラメーター(データソースと、最も一般的なJavaタイプのいくつかの入力パラメーターのリスト)です。

私の提案は、iReportツールを使用することです。JasperReportsバンドルに付属しているいくつかの例を開き、分析して微調整します。それほど複雑ではありません。

アップデート

顧客がJasperReportsテンプレートを作成し、コンパイルしてクラスパスに追加できるようにすることは、システムを開きすぎる必要があることを意味します。通常、クライアントは目的のレポートの説明を提供し、開発者はデータソースを作成してテンプレートを設計します。JasperReportsはパラメーターを持つことができます。これらのパラメーターがUIを介して公開されている場合、ユーザーはランタイムでのレポートの動作を変更できます。

本当に柔軟性を高める必要がある場合は、JasperReportsが提供するAPIを使用してテンプレートを作成します。上級ユーザーがオンザフライレポートを作成してシステムと通信するための簡単なDLSを想像できます。

于 2009-08-04T12:26:55.007 に答える