2014-02-06 136 views
0

我試圖從handle.jsp傳遞一個ArrayList到main.jsp,但它不讓我這樣做。它一直說「類型不匹配:不能從Object轉換爲ArrayList」。如何將一個ArrayList從一個jsp傳遞到另一個使用會話

main.jsp中:

<%@ page import="java.util.ArrayList" %> 
<html> 
<body> 
    <h1>Hobby Manager</h1> 
<% 

     ArrayList<String> hobbies = session.getAttribute("hobbies"); 

     out.println(hobbies.size()); 

     out.println(session.getAttribute("hobbies")); 
%> 

    <h2>Add new hobby!</h2> 

    <FORM action="handleAddHobby.jsp" method="get"> 
      What new hobby are you wishing to add? <INPUT TYPE=text name=hobbyName /> <br/> 

      <INPUT TYPE=submit name=addHobby value="Add Hobby" /> 

    </FORM> 

</body> 
</html> 

handle.jsp:

<%@ page import="java.util.ArrayList" %> 
<html> 
<body> 

<% 
    ArrayList<String> hobbies = new ArrayList<String>(); 

    String hobbyName = request.getParameter("hobbyName"); 

    if(hobbyName == null){ 
      out.println("Please enter a hobby before clicking add! Dummy.<br/>"); 
    } 
    else{ 
      hobbies.add(hobbyName); 

      for(int index = 0; index < hobbies.size(); index ++){ 
        out.println(hobbies.get(index) + "<br/>"); 
      } 

      session.setAttribute("hobbies", hobbies); 
    } 
%> 

</body> 
</html> 

我試圖把它當作一個字符串對象,並單獨將它作爲一個對象,但似乎沒有任何工作。

+0

你如何從句柄到主頁? –

回答

3

的問題是在這裏..

ArrayList<String> hobbies = session.getAttribute("hobbies"); 

嘗試類型轉換它的getAttribute總是返回對象。

ArrayList<String> hobbies = (ArrayList<String>)session.getAttribute("hobbies"); 
相關問題