JSP EL无法正常工作 - javax.el.PropertyNotFoundException:Property' name'在java.lang.String

时间:2015-06-07 22:27:05

标签: jsp el

我对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;
    } 

}

1 个答案:

答案 0 :(得分:0)

我尝试过类似的代码。只需在public类中添加User关键字,如下所示:

public class User {

    private long id;
    private String name;
    private String age;

   //Geters & Setters
}

isELIgnored="false"指令中添加<%@ page %>