使用从Servlet到JSP的数据填充选择菜单

时间:2012-07-20 08:31:35

标签: java jsp servlets

我想从数据库传递一些值来填充带有各种选择菜单的页面(大约5个)。

我可以使用JSTL SQL标记执行此操作,但这不是一个好习惯。

如何从单个servlet获取此数据? 我可以从一个servlet发送多个列表吗?

选择菜单从不同的表中填充。我想使用RequestDispatcher将列表转发给jsp。

3 个答案:

答案 0 :(得分:3)

您可以使用单独的ArrayList来存储在Servlet中检索的各种列表,然后将每个列表存储为@devsundar所述的请求属性。您可以通过request隐式对象在JSP中检索这些属性。

如果您只想在单个请求属性中发送所有列表,那么@KaipaMSarma's建议最好有HashMap<String, ArrayList>,因此您的servlet代码可能如下所示:

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);

希望这有帮助。

答案 1 :(得分:1)

您可以在request属性中设置数据库中的数据,并在JSP中呈现它。

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

答案 2 :(得分:1)

是的,你可以做到。从servlet中,您可以访问数据库(任意数量的表)并将结果集存储在集合对象中,并将这些对象作为属性传递给JSP。