1

这是我想要做的。

我有一个 servlet,其中包含一个ArrayList, 和一个在 servlet 之后显示的 JSP 文件。在用户单击JSP文件的下一步后,我转到另一个 servlet,它需要ArrayList来自原始 Servlet 的。

我如何使用 JSP 页面来检索它Arraylist

目前,我ArrayList在 JSP 中将 The 作为隐藏输入,但新Servlet调用不会将该隐藏输入检索为ArrayList.

4

2 回答 2

0

使用HttpSession. 在将ArrayList原始 Servlet 传递给JSP. 然后再当你Servlet从那个调用另一个JSP。你应该ArraylistHttpSession.

另一种不推荐但不推荐的方法是序列化值,然后将其再次发送回 Servlet。

如果有少量数据,如字符串、整数等ArrayList,你可以这样做

public String serializeArrayList(ArrayList list){
  StringBuffer sb = new StringBuffer();
  for(int i = 0; i < list.size(); i++){
    sb.append("<input type=\"hidden\" name=\"list_values\" value=\"");
    sb.append(list.get(i));
    sb.append("\">\n");
  }
  return sb.toString();
}

然后构建一个新列表,使用request.getParameterValues("list_values")它返回一个String[]并再次构建 ArrayList

当然,如果列表中有几十个或几百个条目,并且如果您有对象存储在ArrayList

于 2012-11-26T06:15:04.457 回答
0

如果可能,再次调用 servlet 以获取更新的列表,或带有参数的相同列表以指示要使用列表的哪一部分。这是使用您的 servlet 作为控制器;您应该避免使用 JSP 文件(演示文稿)作为控制器。虽然现在这看起来很复杂,但您会发现它使您的 JSP(和其他演示文稿)页面更易于编写。

于 2012-11-26T03:10:11.060 回答