我对JSP EL有一个问题,我弄清楚了。 在我的Servlet doGet()方法中,我使用此代码从数据库中检索数据:
UserServices us = new UserServices();
List<User> users= us.allUsers();
request.setAttribute("users", users);
request.getRequestDispatcher("/list_users.jsp").forward(request, response);
问题是当我使用JSP Scriplets&amp;表达式如下:
<%
List<User> users = (List<User>) request.getAttribute("users");
if(users != null) {
for(User user : users) {
%>
<p><%=user.getName()%></p>
<%
}
}
%>
它运行正常,但是当我使用JSP EL时:
<p>${user.name}</p>
此错误提示:
javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String
编辑: 我的用户类:
class User {
private long id;
private String name;
private String age;
public User() {
}
public User(String name, String age) {
this.name = name;
this.age = age;
}
public long getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
答案 0 :(得分:0)
我尝试过类似的代码。只需在public
类中添加User
关键字,如下所示:
public class User {
private long id;
private String name;
private String age;
//Geters & Setters
}
在isELIgnored="false"
指令中添加<%@ page %>
。