2012-03-05 21 views
0

jspページ内のJavaオブジェクト内にある配列の値を取得するにはどうすればよいですか? jspページに、私は私の質問は、私はオブジェクトobjからプロパティのString []の例を得るだろうかあるのでJavaオブジェクト内の配列へのアクセス

${obj.property} 

などのオブジェクトを呼び出すことができるように

は、私は、オブジェクトの属性を設定していますか?

<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」

そして、私の実際のクラスを持っていません。

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) 
    { 

    } 

} 

私も私のサーブレットでオブジェクトを作成しますお寄せください

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

私はこれまでに尋ねましたが、明確な回答はありませんでした。クラスのroommate.Roommateは、「プロパティ「favProfessors」を持っていない:私は私の問題は私がトップ

+0

http://stackoverflow.com/questions/5088625/how-to-get-an-object-of-java-class-from-jsp – austin

+0

今後の質問では、難読化されたコードを表示しない限り、何が起こっているのか理解しておらず、実行/テストしていません。代わりにあなたが実際に実行/テストした**実際の**コードを表示してください。以前の質問に*正しい*コードが含まれていました。過度の質問をしないでください。実際の具体的な問題に関するあなたの本当の具体的なコードについて質問してください。 – BalusC

+0

実際に私の前の質問は実際のコードではありませんでした。この質問の最後の2つのコードスニペットは実際のコードです – user975044

答えて

0

javax.el.PropertyNotFoundExceptionで述べた私のforEachにのみJSPでデータを引き出していると思います

Javaが正しいです。そのクラスにはgetFavProfessors()メソッドがありません。代わりに${roommate.professors}を使用するか、またはgetFavProfessors()するゲッターメソッド名を修正する:あなたは2つのオプションを持っている

public String[] getProfessors() 
{ 
    return favProfessors; 

} 

:それは代わりに次のようです。

ほとんどのスターターが考えるとは対照的に、ELはプライベートプロパティに直接アクセスしません。 ELは、Javabeans specificationに従ったpublic getter/setterメソッドを呼び出します。その背後にある実際の私有財産は、まったく別の名前を持つことも、まったく存在しないこともあります。

関連する問題