-1

我在将 ArrayList 从 servlet 传递到 servlet 时遇到问题。

第一个伺服器

HttpSession session = request.getSession();
ArrayList users = new ArrayList();    
…
    request.setAttribute("list", utenti);
    RequestDispatcher rd = request.getRequestDispatcher("/secondServlet");
    rd.forward(request, response);
    return;

第二个小仆人

    HttpSession session = request.getSession();
    ArrayList users = (ArrayList) session.getAttribute("list");     

如果现在我使用迭代器来读取单个元素,我的 ArrayList 为空。我不明白为什么我不能通过那个。

坦克

4

3 回答 3

3

您正在尝试将值设置为请求并尝试从会话中读取。

要获取列表,请从请求中读取。

或者,如果您需要该列表用于完整的用户会话,请设置到会话中。

于 2013-11-15T08:23:51.110 回答
0

添加到亚都的答案,

对接口进行编程。

避免

ArrayList users = new ArrayList();

List users = new ArrayList();

更好

List<String> users = new ArrayList<String>();
于 2013-11-16T05:58:48.133 回答
0

在 FIRSTSERVLET 中尝试会话而不是请求。

 session.setAttribute("list", utenti); 

RequestDispatcher rd = request.getRequestDispatcher("/secondServlet");
rd.forward(request, response);
return;
于 2016-06-17T10:15:00.090 回答