我想从数据库中传递一些值以使用各种选择菜单(大约 5 个)填充页面。
我可以使用JSTL SQL
标签来做到这一点,但这不是一个好习惯。
如何从单个 servlet 获取这些数据?
我可以从一个 servlet 发送多个列表吗?
选择菜单由不同的表填充。我想用来RequestDispatcher
将列表转发到jsp。
您可以使用 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);
希望这可以帮助。
您可以在请求属性中设置数据库中的数据并将其呈现在您的 JSP 中。
http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#setAttribute(java.lang.String , java.lang.Object)
是的,你可以做到。从您的 servlet 中,您可以访问数据库(任意数量的表)并将结果集存储在集合对象中,并将这些对象作为属性传递给 JSP。