0

Web ベースのレポート システム用の Java アプリケーションに取り組んでいます。アプリケーションは現在、一部のレポートに struts2 を使用し、その他のレポートには基本的なサーブレットを使用しています。コードはいたるところにあるので、コードにある程度の正気を持たせたいと思っています。

外部からのワークフローは次のとおりです。

  1. ユーザーがレポートのナビゲーションでリンクをクリックする
  2. レポートの検索ページ (ログインしたユーザーに関連する 5 ~ 6 個のフィールドを含む) が表示されます
  3. ユーザーがパラメータを選択
  4. フォームは Servlet/Struts2Controller に送信されます
    • Servlet/Struts2Controller は、いくつかのロジックに基づいてパラメーターを収集し、DAO を呼び出し、データを取得して、次のページに転送します
  5. パラメータに応じて、最終レポートが表示されます

上記から、ポイント 2 はすべてのレポートでほぼ同じです。そこでGenericSearchClass、レポートの最初の検索ページを表示するために必要なすべてのメソッドを含む を作成しました。

私の質問は次のとおりです。

  • フォームが送信された瞬間から最終ページが表示されるまで、どのようなパターンを使用できますか?
  • テンプレートメソッドの独自の実装を持つ抽象クラスと具象クラスで、テンプレートメソッドを使用する必要がありますか。
  • もしそうなら、私のテンプレートメソッドはどうあるべきですか。このような問題のより良いパターンはありますか?
4

2 に答える 2

1

私もあなたと同じ立場です。レポートには hibernate、struts2、および jasper を使用します。IReport でのレポートとグラフのデザイン。休止状態でネイティブ クエリを使用するクエリを実行し、struts 2 を使用してリスト オブジェクトを jasper に渡すだけです。

jspでのステップ1〜3。ステップ 4 を作成する DAO は、hibernate のクエリに依存します (参加する必要がある場合は、ネイティブ クエリを使用します)。ステップ5.オブジェクトリストを取得し(struts 2アクション)、ireportでstruts2(struts2 xml)デザインを使用してジャスパーに送信します。オブジェクトリストのプロパティと同じフィールドに名前を付けるだけです。

または、ジャスパーでクエリを実行し、パラメーター(ユーザー入力)と接続(jdbc)を渡す->簡単な方法で、休止状態について詳細に調査できます-> struts2-> ireport(jasper、jfreechart)

于 2012-05-29T03:38:30.640 に答える
1

Struts で Model View Controller パターンを使用することを確認できます [Google 検索で見つけたチュートリアルhttp://www.vaannila.com/ ]

長期実行レポートがある場合は、ユーザーが同じ長期実行レポートを複数回要求しないように、フロント エンドで AJAX を使用してレポートを非同期で実行することをお勧めします。入力に ​​30 分以上かかるレポートは、このカテゴリに分類されます。

お役に立てれば。

于 2012-04-24T01:18:16.073 に答える