jsf-2 el inner-classes managed-bean

jsf 2 - No se puede acceder a la clase interna en bean



jsf-2 el (1)

Estoy usando JSF 2.0. Tengo un bean administrado al que puedo acceder a través de mi página xhtml. Dentro del frijol declaré una clase interior. Puedo acceder a ArrayList<String> del bean administrado pero no a ArrayList<InnerClass> y recibo el error de que InnerClass no tiene una propiedad legible. Alguien sabe lo que está mal?


Eso puede suceder si la clase interna no es public . Entonces será invisible para otras clases fuera del paquete (¡como como JSF / EL mismo!). Asegúrese de que la clase interna sea public siempre que necesite acceder a ella mediante JSF / EL.

public class Bean { public class InnerClass { // ... } }

De lo contrario, se interpretará como String y obtendrá excepciones confusas como

javax.el.ELException: /test.xhtml: La propiedad ''someProperty'' no se puede leer en el tipo java.lang.String

cuando quieras acceder a #{innerClass.someProperty} .