2010-05-17 108 views
0

我收到以下错误,当我运行在WebLogic上的Java EE应用程序,问题与JSTL和weblogic

javax.servlet.jsp.el.E​​LException:找不到的PropertyDescriptor为豆“名称”“级java.lang.String中”

我想打印下面的类艺术家的名单,

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

回答

1

看看在<c:forEach>items属性的值标记 - 它是一个字符串文字,不是EL表达式。换句话说,这应该工作:

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