Я использую JSF 2.0. У меня есть управляемый bean, который я могу получить через мою страницу xhtml. Внутри bean я объявил внутренний класс. Я могу получить доступ к ArrayList<String>
управляемого bean, но не ArrayList<InnerClass>
, и я получаю сообщение об ошибке, которое InnerClass не имеет читаемого свойства. Кто-нибудь знает, что случилось?
Не удается получить доступ к внутреннему классу в bean
Ответ 1
Это может произойти, если внутренний класс не является public
. Затем он будет невидим для других классов вне пакета (например, как сам JSF/EL!). Убедитесь, что внутренний класс public
, когда вам нужен доступ к нему с помощью JSF/EL.
public class Bean {
public class InnerClass {
// ...
}
}
В противном случае он будет интерпретироваться как String
, и вы получите путаные исключения, например
javax.el.ELException:/test.xhtml: свойство 'someProperty' не читается по типу java.lang.String
когда вы хотите получить доступ к #{innerClass.someProperty}
.