【问题标题】:Problem with JSTL and weblogicJSTL 和 weblogic 的问题
【发布时间】:2010-05-17 05:15:36
【问题描述】:

当我在 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

【问题讨论】:

    标签: jakarta-ee jstl weblogic9.x


    【解决方案1】:

    查看&lt;c:forEach&gt; 标记的items 属性的值——它是字符串文字,而不是EL 表达式。换句话说,这应该有效:

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

    【讨论】:

      猜你喜欢
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多