1

我想从数据库中传递一些值以使用各种选择菜单(大约 5 个)填充页面。

我可以使用JSTL SQL标签来做到这一点,但这不是一个好习惯。

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

选择菜单由不同的表填充。我想用来RequestDispatcher将列表转发到jsp。

4

3 回答 3

3

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

如果您只想在单个请求属性中发送所有列表,那么@KaipaMSarma 的建议最好有一个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);

希望这可以帮助。

于 2012-07-20T09:30:56.947 回答
1

您可以在请求属性中设置数据库中的数据并将其呈现在您的 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

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

于 2012-07-20T08:51:19.763 回答