Tengo un JSP donde intento usar etiquetas JSTL para mostrar datos de una instancia en memoria de una clase. Los datos consisten en una serie de cadenas donde cada cadena es la dirección de una fuente RSS.javax.el.PropertyNotFoundException: utilizando JSTL en JSP
En el JSP, tengo el siguiente código:
<table border = "1">
<tr>
<c:forEach var = "rssFeedURL" items = "${rssfom.rssFeedURLs}">
<td align = "left">${rssFeedURL}</td>
</c:forEach>
</tr>
</table>
Básicamente, rssfom es una instancia de la clase siguiente:
public class RSSFeedOccurrenceMiner extends RSSFeedMiner {
private HashMap<String, Counter> keywordFrequencies;
public RSS_Feed_OccurrenceMiner() {
super();
this.keywordFrequencies = new HashMap();
}
...
}
Este hereda de RSSFeedMiner clase que contiene la variable siguiente y métodos:
private ArrayList<String> rssFeedURLs;
public ArrayList<String> getRSSFeedURLs() {
return rssFeedURLs;
}
public void setRSSFeedURLs(ArrayList<String> rssFeedURLs) {
this.rssFeedURLs = rssFeedURLs;
}
Así que en el JSP, pensé que nos sería posible e el código anterior, pero cuando se ejecuta la página, simplemente recibo una tabla vacía. Y en los registros del servidor, tiendo a encontrar el mensaje:
javax.el.PropertyNotFoundException: Propiedad '' rssFeedURLs que no se encuentran en el tipo RSSFeedOccurrenceMiner
Qué es correcta dado mi uso de la herencia. Entonces, ¿alguien puede decirme si JSTL permite la herencia o hay algo que falta en mi código?
Realmente no quiero usar un scriptlet en el JSP.
Cierto, cambié el nombre del método ligeramente, pero no veo esto como el error en este caso. –
@Mr Morgan, ¿cambió el nombre del método a 'getRssFeedURLs' y lo intentó? –
@Vivin Palaith: Estoy en deuda con usted. Cambiar el nombre del método a la convención de Java funcionó perfectamente. He tenido problemas con JSTL antes, pero nunca me gusta esto. Muchas gracias. –