データベースからいくつかの値を渡して、ページにさまざまな選択メニュー (約 5) を設定したいと考えています。
タグを使用してこれを行うことはできますJSTL SQL
が、それは良い習慣ではありません。
単一のサーブレットからこのデータを取得するにはどうすればよいですか?
1 つのサーブレットから複数のリストを送信できますか?
選択メニューは、さまざまなテーブルから取り込まれます。RequestDispatcher
リストをjspに転送するために使用したい。
@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);
お役に立てれば。
request 属性でデータベースからのデータを設定し、JSP でレンダリングできます。
http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#setAttribute(java.lang.String , java.lang.Object)
はい、できます。サーブレットから、データベース (任意の数のテーブル) にヒットし、結果セットをコレクション オブジェクトに格納し、それらのオブジェクトを属性として JSP に渡すことができます。