0

データベースクエリを実行するサーブレットがあります。ここで、最終的な結果セットを jsp ページに転送し、display-tag を使用して行を表示する必要があります。これを行う方法?結果セットをサーブレットから jsp に転送する方法。シリアル化できないため、結果セットを直接転送できません。

2 つの結果セットをサーブレットから jspに転送する必要がある場合はどうすればよいですか?

4

1 に答える 1

0

オブジェクトは、リクエスト属性に格納するためにシリアル化可能である必要はありません。HttpServletRequestオブジェクトとその属性はメモリに存在します。

また、displaytagは、JavaBeansの規則を尊重する必要があるオブジェクトのコレクション(ほとんどの場合、リスト)を使用します。

したがって、プロセスは単純です。

  1. サーブレットはデータベースクエリを実行します
  2. ResultSetを反復処理しList<Foo>、クエリによって取得されたデータを含むコンテンツを作成します
  3. このリストをリクエストの属性として保存しました。request.setAttribute("foos", fooList);
  4. RequestDispatcherを使用して、リクエストとレスポンスをJSPに転送します
  5. JSPは、displaytagを使用して、のコンテンツを${foos}テーブルとして表示します。

2つの結果セットを転送する必要がある場合は、2つのリクエストを実行し、2つのリストを作成し、それらを2つのリクエスト属性に格納し、JSPでdisplaytagを2回使用します。

于 2012-07-06T16:31:08.133 に答える