2010-05-17 115 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>