0

在 weblogic 上运行我的 java ee 应用程序时出现以下错误,

javax.servlet.jsp.el.E​​LException:找不到 bean 'class java.lang.String' 的 'name' 的 PropertyDescriptor

我想打印以下班级的艺术家名单,

    public class Artist {
    private int id; 
    private String name;
    private String genre;

    public Artist() {

    }
    public Artist(String name){
        this.name=name;
    }
    public void setId(int id) {
        this.id = id;
    }   
    public int getId() {
        return id;
    }
     public void setName(String name) {
        this.name = name;
    }
     public String getName() {
        return name;
    }
     public String getGenre() {
        return genre;
    }
     public void setGenre(String genre) {
        this.genre = genre;
    }
}

以下代码行似乎导致了问题,因为当我删除它时,我不再收到错误。

<c:forEach items="artists" var="artist">
    <c:out value="${artist.name}"></c:out><br/>
</c:forEach>

当我使用 PrintWriter 打印时,它可以工作:

for (Artist artist:artists){
    resp.getWriter().println(artist.getName());
}

我正在使用 java ee 2.4 和 weblogic 9.2

4

1 回答 1

1

看一下标签items属性的值<c:forEach>——它是一个字符串文字,而不是一个 EL 表达式。换句话说,这应该有效:

<c:forEach items="${artists}" var="artist">
    <c:out value="${artist.name}"></c:out><br/>
</c:forEach>
于 2010-06-25T20:25:42.533 回答