Jsp javax.el.PropertyNotFoundException:Property';名称';在类型上找不到

Jsp javax.el.PropertyNotFoundException:Property';名称';在类型上找不到,jsp,struts2,Jsp,Struts2,我有一个代码如下: FriendsList = new ArrayList() .... ResultSet rs = st.executeQuery(Select); while (rs.next()) { Member member = new Member(rs); FriendsList.add(member); } public String getName() { return Name; } public void setName(String

我有一个代码如下:

FriendsList = new ArrayList()
....   
ResultSet rs = st.executeQuery(Select);
while (rs.next()) {
   Member member = new Member(rs);
   FriendsList.add(member);
}
    public String getName() {
    return Name;
}
public void setName(String name) {
    Name = name;
}
它成功地获得结果,并转到成员类的构造函数并向其添加数据。但是,一旦我尝试从jsp文件中使用FriendsList属性访问它的一个属性,我就会遇到以下错误:

 "Caused by: javax.el.PropertyNotFoundException: Property 'Name' not found on type   
 application.Member"
使用Eclipse,我为成员类的每个属性生成了一个完整的setter和getter列表,如下所示:

FriendsList = new ArrayList()
....   
ResultSet rs = st.executeQuery(Select);
while (rs.next()) {
   Member member = new Member(rs);
   FriendsList.add(member);
}
    public String getName() {
    return Name;
}
public void setName(String name) {
    Name = name;
}

关键是将“属性名”转换为方法名。一般来说,getter名称是通过获取属性名、将第一个字符大写并在“get”前面加上前缀来获得的

因此,如果您想调用getName方法,那么属性是带有小写n的“name”,而不是大写n


对于以大写字母或类似字母开头的属性,也有许多特殊情况,但如果您将其设置为使属性名称始终以小写字母开头,则生活会简单得多。

答案是正确的,您应该在JSP中使用
“name”
,而不是
“name”
。但是为什么你会问一个关于JSP的问题,而不显示JSP中导致错误的部分呢?你的建议是“但是如果你设置它,那么你的属性名总是以小写字母开头,生活会简单得多。”这真的让我的生活更轻松:)