2010-05-17 3 views
0

je reçois l'erreur suivante lorsque je lance mon application ee java sur weblogic,problème avec JSTL et weblogic

javax.servlet.jsp.el.ELException: Vous ne trouvez pas PropertyDescriptor pour la classe « name » pour haricot » java.lang.String »

Je veux imprimer une liste d'artistes avec la classe suivante,

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

les lignes de code suivantes semblent être la cause du problème parce que quand je retirez-moi je ne reçois plus l'erreur.

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

Lorsque j'utilise PrintWriter pour imprimer, il fonctionne:

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

J'utilise Java ee 2.4 et Weblogic 9.2

Répondre

1

Jetez un oeil à la valeur de l'attribut items du <c:forEach> tag - c'est un littéral de chaîne, pas une expression EL. En d'autres termes, cela devrait fonctionner:

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