2012-06-19 20 views
8

Me aparece un error en JSP y no puedo entender qué lo está causando. He incluido todas las bibliotecas apropiadas y me he asegurado de seguir la convención de frijoles en mayúsculas/minúsculas. Aquí está el código correspondiente en el JSP:javax.el.PropertyNotFoundException en una página JSP

<c:forEach items="${relevantData}" var="entry"> 
    <p>${entry.price}</p> 
</c:forEach> 

El relevantData fue un List<MyData>. A los fines de esta pregunta, basta con decir MyData es una clase que contiene un precio nominal Double (con un Getter and Setter siguiendo la convención de beans). Cuando intento cargar esta página recibo el siguiente error en los registros del servidor Tomcat (7.0.22):

javax.el.PropertyNotFoundException: 
Property 'price' not readable on type java.lang.Double 

¿Por qué recibo este error y cómo lo arreglo?

+1

métodos de acceso son públicos, ¿clase interna MyData? –

+1

Los métodos de acceso son todos públicos. La clase en sí no era pública. –

Respuesta

22

El problema fue en realidad causado por la visibilidad de la clase MyData. Yo había generado automáticamente la clase MyData en Netbeans, pero no noté que no había una palabra clave public delante del nombre de la clase. Esto significaba que cuando llegó al JSP no había forma de que leyera las propiedades en MyData.

Cambié el tipo a public y se solucionó el problema.

+0

Me encuentro con el mismo problema. moví el tipo a un nuevo archivo, pero se olvidó de agregar público ... ¡gracias! –

+0

doh, ¡debería haber sido capaz de resolver esto! Gracias por esta publicación! –

+0

Este problema también surgió después de que usé UCDectector para eliminar código innecesario en eclipse. Como el programa no pudo interpretar el código JSTL, sugirió que cambie el modificador de la clase a "predeterminado", y lo hice. Gracias por la ayuda para localizar mi problema. – KjetilNordin

Cuestiones relacionadas