2012-09-15 69 views
4

沒有發現我有一個代碼如下:javax.el.PropertyNotFoundException:屬性「名稱」的類型

FriendsList = new ArrayList() 
.... 
ResultSet rs = st.executeQuery(Select); 
while (rs.next()) { 
    Member member = new Member(rs); 
    FriendsList.add(member); 
} 

它成功地得到結果並轉到會員類的構造函數,並添加數據。但一旦我嘗試使用FriendsList財產從我的JSP文件來訪問它的屬性之一,我碰到下面的錯誤:

"Caused by: javax.el.PropertyNotFoundException: Property 'Name' not found on type 
application.Member" 

使用Eclipse我已經生成getter和setter方法爲成員類的每個屬性的完整列表如下:

public String getName() { 
    return Name; 
} 
public void setName(String name) { 
    Name = name; 
} 
+2

答案是正確的,您應該在JSP中使用''name'',而不是''Name''。但是,爲什麼你會問一個關於你的JSP的問題而不顯示引起錯誤的那部分JSP? –

回答

8

關鍵是將「屬性名稱」轉換爲方法名稱。一般來說,獲取者名稱是通過獲取屬性名稱獲得的,大寫第一個字符並預先設置「get」。

所以,如果你想調用GetName方法的屬性是「名」有一個小寫的n,而不是一個大寫N.

也有對於居然開始用大寫字母和屬性很多很多特殊情況類似的,但如果你設置它,生活就會簡單得多,所以你的屬性名稱總是以小寫字母開頭。

+1

你的建議是「如果你設置它,生活就會簡單得多,所以你的房產名稱總是以小寫字母開頭。」真的讓我的生活更輕鬆:) – Vinod

相關問題