如何将两个不同的ArrayList从Servlet发送到JSP

时间:2015-12-27 20:16:30

标签: java jsp servlets arraylist

我会尝试清楚几行,只显示基本代码。 正如我在标题中所说,我必须将两个arraylists从servlet发送到JSP页面。不幸的是,我不知道如何将多个arraylists发送到JSP,但我知道如何只发送一个。我通常使用这个程序:

例如

ArrayList<ClassA> array_A = new ArrayList<ClassA>();

// [...] After some operations and have filled the array_A with objects of class ClassA

ServletContext sc = request.getSession().getServletContext();
request.setAttribute("Attribute", array_A);
RequestDispatcher rd = sc.getRequestDispatcher("/MyJSP.jsp");
rd.forward(request,response);
request.getSession().removeAttribute("Attribute");

此过程允许我将一个arraylist发送到JSP页面。我怎样才能发送两个不同的arraylist?例如,我需要发送这两个arraylist:

ArrayList<ClassA> array_A = new ArrayList<ClassA>();
ArrayList<ClassB> array_B = new ArrayList<ClassB>();

// [...] After some operations and have filled array_A with objects of class ClassA 
// & array_B with objects of class ClassB

如何将这两个数组从servlet发送到JSP页面?你能和我分享一下代码吗?如果我不那么严谨,我很抱歉。

1 个答案:

答案 0 :(得分:3)

request.setAttribute("array_A", array_A);
request.setAttribute("array_B", array_B);

jsp内(使用jstl核心库时,前缀为c

<c:forEach var="itemA" items="${array_A}">
      <!-- some code here -->
</c:forEach>

<c:forEach var="itemB" items="${array_B}">
      <!-- some code here -->
</c:forEach>