2017-05-29 110 views
1

我有兩個Servlet,第一個servlet我創建一個arraylist並將它壓縮到jsp頁面以顯示在UI上,現在我想從第一個servlet傳遞相同的arraylist到另一個servlet。下面是第一個serlet的ArrayList的代碼。 如何將它傳遞給anather的servlet在POST方法如何將arraylist從一個servlet傳遞到另一個servlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    String startName=request.getParameter("startName"); 
    int noOfSenders=Integer.parseInt(request.getParameter("noOfSenders")); 
    String domain =request.getParameter("domain"); 

    /*Code for List form function*/ 
    List<String> mails=new ArrayList<String>(); 

      for(int i=1;i<=noOfSenders;i++){ 
       StringBuilder sb = new StringBuilder(); 
       sb.append(startName).append(i).append(domain); 
       mails.add(sb.toString()); 
      } 
      System.out.println("response"); 
      response.getWriter().write(new Gson().toJson(mails)); 
         } 

回答

0

您可以使用setAttribute()

request.setAttribute("mails", mails); 

檢索:

ArrayList<String> list=(ArrayList<List>) request.getAttribute("mails"); 
0

設置爲會話屬性,你可以在任何地方內訪問如下所示。

request.getSession().setAttribute("name",mails); 

也可以在第二個servlet訪問它

ArrayList<String> list=(ArrayList<List>)request.getSession().getAttribute("name"); 
+1

'request.getSession()的getAttribute( 「名稱」);'返回一個對象。在使用它之前,您需要進行類型轉換。 –

+0

任何好的IDE會告訴你在訪問時的類型轉換,認爲它是不用提的 –

+0

在servlet中創建geting的名字之後我想把它傳遞給for循環在同一個doPost方法 - > for(senderInput:name)bt在這裏它不工作。給出錯誤提示使局部變量的名稱..請建議 – Dip

相關問題