Servlet ArrayList

时间:2013-11-15 08:20:36

标签: java servlets web arraylist

我有一个问题要将一个ArrayList从servlet传递给servlet。

FIRST 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");     

如果现在我使用Iterator读取单个元素我的结果是我的ArrayList为null。 我不明白为什么我不能通过它。

4 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

添加到Yadu的回答

编程到界面。

避免

ArrayList users = new ArrayList();

待办事项

List users = new ArrayList();

更好

List<String> users = new ArrayList<String>();

答案 2 :(得分:0)

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

 session.setAttribute("list", utenti); 

RequestDispatcher rd = request.getRequestDispatcher("/secondServlet");
rd.forward(request, response);
return;

答案 3 :(得分:-1)

  第二个servlet中的

从请求中保留会话引用并使用   此: -

    ArrayList users = (ArrayList) request.getAttribute("list");