2012-09-15 144 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

相关问题