在编译 JSP 模板期间,出现以下异常:
getFriendImage() is not a method
我尝试过重建类(class),但没有结果。 src 内的元素是一个可以正常工作的图像的链接。
package classes;
public class Friends {
private String username;
private String friendname;
private String complete;
private String datestring;
private String user_image;
private String friendImage;
private String online;
public Friends(String username, String friendname, String complete,
String datestring, String user_image,
String friendImage, String online) {
this.username = username;
this.friendname = friendname;
this.complete = complete;
this.datestring = datestring;
this.user_image = user_image;
this.friendImage = friendImage;
this.online = online;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getFriendname() {
return friendname;
}
public void setFriendname(String friendname) {
this.friendname = friendname;
}
public String getComplete() {
return complete;
}
public void setComplete(String complete) {
this.complete = complete;
}
public String getDatestring() {
return datestring;
}
public void setDatestring(String datestring) {
this.datestring = datestring;
}
public String getUser_image() {
return user_image;
}
public void setUser_image(String user_image) {
this.user_image = user_image;
}
public String getFriendImage() {
return friendImage;
}
public void setFriendImage(String friendImage) {
this.friendImage = friendImage;
}
public String getOnline() {
return online;
}
public void setOnline(String online) {
this.online = online;
}
}
session.setAttribute("friendsList", friendsList);
JSP 模板
<ul id="friends_list">
<c:forEach var="item" items="${friendsList}">
<li class="friend_item"><img class="friend_list_image"
src="${friendsList.getFriendImage()}"
alt="friend_image"/>
<label>${friendsList.getFriendname()}</label>
<img class="message_icon" src="Images/Message.png"
alt="Message_Icon" title="Message" onclick="message_friend()"/>
</li>
</c:forEach>
</ul>
最佳答案
您通常不应该像这样访问这些方法。通常,您应该做的就是使用您在 Friends 类中声明的字段名称来访问它们,前提是您事先设置了这些变量。
此外,如果您提供var="item"
在你的<c:forEach
那么你应该使用 ${item.somefieldname}
访问它们
<ul id="friends_list">
<c:forEach var="item" items="${friendsList}">
<li class="friend_item">
<img class="friend_list_image" src="${item.friendImage}" alt="friend_image"/>
<label>${item.friendname}</label>
<img class="message_icon" src="Images/Message.png" alt="Message_Icon" title="Message" onclick="message_friend()"/>
</li>
</c:forEach>
</ul>
另请注意大小写:
private String username;
private String friendname;
private String complete;
private String datestring;
private String user_image;
private String friendImage; //capitalized here, be careful!
private String online;
关于javax.el.MethodNotFoundException : Method not found: JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50547719/