1

データベースからいくつかの値を渡して、ページにさまざまな選択メニュー (約 5) を設定したいと考えています。

タグを使用してこれを行うことはできますJSTL SQLが、それは良い習慣ではありません。

単一のサーブレットからこのデータを取得するにはどうすればよいですか?
1 つのサーブレットから複数のリストを送信できますか?

選択メニューは、さまざまなテーブルから取り込まれます。RequestDispatcherリストをjspに転送するために使用したい。

4

3 に答える 3

3

@devsundarで言及されているように、個別に使用ArrayListしてサーブレットで取得したさまざまなリストを保存し、各リストをリクエスト属性として保存できます。これらの属性は、暗黙的なオブジェクトを介して JSP で取得できます。request

そして、単一のリクエスト属性ですべてのリストを送信するだけの場合、@ KaipaMSarma の提案は を持っているとよいHashMap<String, ArrayList>ため、サーブレット コードは次のようになります。

List list1 = getListOneFromDatabase();
List list2 = getListTwoFromDatabase();
List list3 = getListThreeFromDatabase();
// and so on ...

Map<String, List> requestListMap = new HashMap<String, List>();
requestListMap.put("list1", list1);
requestListMap.put("list2", list2);
requestListMap.put("list3", list3);
// and so on ...

request.setAttribute("reqListMap", requestListMap);

お役に立てれば。

于 2012-07-20T09:30:56.947 に答える
1

request 属性でデータベースからのデータを設定し、JSP でレンダリングできます。

http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#setAttribute(java.lang.String , java.lang.Object)

于 2012-07-20T08:43:06.340 に答える
1

はい、できます。サーブレットから、データベース (任意の数のテーブル) にヒットし、結果セットをコレクション オブジェクトに格納し、それらのオブジェクトを属性として JSP に渡すことができます。

于 2012-07-20T08:51:19.763 に答える