2012-03-05 161 views
0

如何獲取位於jsp頁面中的java對象內的數組值?Java對象內部的訪問數組

我已經設置對象屬性,以便在JSP頁面中我可以打電話像這樣

${obj.property} 

對象我的問題是如何從obj對象索取財物的String []的例子嗎?

<c:forEach var="prop" items="${obj.example}"> 
       <td>${prop}</td> 
</c:forEach> 

我得到的錯誤,告訴我的類obj.Obj不具有財產屬性「示例」 ,顯然我沒有得到的數據出來。

實際的錯誤:

org.apache.jasper.JasperException:javax.el.PropertyNotFoundException:類 'roommate.Roommate' 沒有財產 'favProfessors'。

javax.el.PropertyNotFoundException:類 'roommate.Roommate' 沒有財產 'favProfessors'

而我實際的類:我創造我的servlet對象以及

package roommate; 

public class Roommate{ 
    public String firstname; 
    public String lastname; 
    public String gender; 
    public String place; 
    public String[] favProfessors; 





public Roommate(String fname, String lname, String roommateGender, String hangout,String[] professors) { 
     firstname= fname; 
     lastname= lname; 
     gender= roommateGender; 
     place= hangout; 
     favProfessors= professors; 

    } 



    public String getFirstname() 
    { 
     return firstname; 

    } 

    public void setFirstname(String newFirstname) 
    { 
     this.firstname = newFirstname; 
    } 
    public String getLastname() 
    { 
     return lastname; 

    } 
    public void setLastname(String newLastname) 
    { 
     this.lastname = newLastname; 
    } 
    public String getGender() 
    { 
     return gender; 

    } 
    public void setGender(String newGender) 
    { 
     this.gender = newGender; 
    } 
    public String getHangout() 
    { 
     return place; 

    } 
    public void setHangout(String newPlace) 
    { 
     this.place = newPlace; 
    } 
    public String[] getProfessors() 
    { 
     return favProfessors; 

    } 
    public void setProfessors(final String[] newfavProfessors) 
    { 
     this.favProfessors = newfavProfessors; 
    } 

    public void addRoommate(String fname, String lname, String roommateGender, String hangout,String[] professors) 
    { 

    } 

} 

屁股Atrribute

String [] profArray = request.getParameterValues("professor"); 

     Roommate roommate= new Roommate(
       session.getAttribute("fname").toString(), 
       session.getAttribute("lname").toString(), 
       session.getAttribute("gender").toString(), 
       session.getAttribute("hangout").toString(), 
       profArray); 


     session.setAttribute("roommate",roommate); 

我剛剛問過,但沒有收到明確的答案。我想我的問題是在我的forEach,我在上面

+0

http://stackoverflow.com/questions/5088625/how-to-get-an-object-of-java-class-from-jsp – austin 2012-03-05 02:08:45

+0

在未來的問題中,只要你不要顯示混淆代碼,瞭解正在發生的事情,並沒有執行/測試它。而是顯示您真正執行/測試過的**真實**代碼。你以前的問題包含*正確的*代碼。不要問過分廣泛的問題。用真實而具體的代碼問一個關於你真實和具體問題的問題。 – BalusC 2012-03-05 02:19:04

+0

實際上我之前的問題並不是真正的代碼..這個問題中的最後兩個代碼片段是真實代碼 – user975044 2012-03-05 02:23:14

回答

0

javax.el.PropertyNotFoundException提到單獨拉出來的數據在jsp:類「roommate.Roommate」沒有財產「favProfessors」

Java是對的。您沒有該類中的getFavProfessors()方法。這是不是以下:

public String[] getProfessors() 
{ 
    return favProfessors; 

} 

你有2種選擇:使用${roommate.professors}代替,或修復getter方法名是getFavProfessors()

與大多數初學者認爲的不同,EL不直接訪問私有屬性。 EL根據Javabeans specification調用公共的getter/setter方法。背後真正的私人財產可以有完全不同的名稱,甚至根本不存在。