Здравствуйте, Ionich, Вы писали:
I>Бин заполняет коллекцию нормально. Но на вызове вот этой строчки I> <f:selectItems value="#{identityController.identityTypes}" /> I>все валится с вот таким эсепшином I>Caused by: javax.el.PropertyNotFoundException: /templates/controls/edit/identity.xhtml @27,78 value="#{identityController.identityTypes}": Property 'identityTypes' not readable on type java.util.ArrayList
Что есть identityController и почему он имеет тип ArrayList? Что-то у вас там напутано.
Бин заполняет коллекцию нормально. Но на вызове вот этой строчки
<f:selectItems value="#{identityController.identityTypes}" />
все валится с вот таким эсепшином
Caused by: javax.el.PropertyNotFoundException: /templates/controls/edit/identity.xhtml @27,78 value="#{identityController.identityTypes}": Property 'identityTypes' not readable on type java.util.ArrayList
identityController это тот самый бин (MyClass)
I>>Бин заполняет коллекцию нормально. Но на вызове вот этой строчки I>> <f:selectItems value="#{identityController.identityTypes}" /> I>>все валится с вот таким эсепшином I>>Caused by: javax.el.PropertyNotFoundException: /templates/controls/edit/identity.xhtml @27,78 value="#{identityController.identityTypes}": Property 'identityTypes' not readable on type java.util.ArrayList
RT>Что есть identityController и почему он имеет тип ArrayList? Что-то у вас там напутано.
I>Бин заполняет коллекцию нормально. Но на вызове вот этой строчки I> <f:selectItems value="#{identityController.identityTypes}" /> I>все валится с вот таким эсепшином I>Caused by: javax.el.PropertyNotFoundException: /templates/controls/edit/identity.xhtml @27,78 value="#{identityController.identityTypes}": Property 'identityTypes' not readable on type java.util.ArrayList
I>В чем может быть дело? I>заранее спасибо
А метод public ArrayList getIdentityTypes () определен например в локальном интерфейсе бина?
I>>Бин заполняет коллекцию нормально. Но на вызове вот этой строчки I>> <f:selectItems value="#{identityController.identityTypes}" /> I>>все валится с вот таким эсепшином I>>Caused by: javax.el.PropertyNotFoundException: /templates/controls/edit/identity.xhtml @27,78 value="#{identityController.identityTypes}": Property 'identityTypes' not readable on type java.util.ArrayList
I>>В чем может быть дело? I>>заранее спасибо
S>А метод public ArrayList getIdentityTypes () определен например в локальном интерфейсе бина?
winxp professional sp3
java 6 update 5 (build 1.6.0_05-b13)
Apache Tomcat 6.0.16
myfaces-core-1.2.2
I>>Его интерфейс ни где не описывается. Он сам описывается в faces-config.xml I>>вот так: IK>Какое окружение?
S>А где определяется #{identityController.value.identityType} и если можна код IdentityType is Enum
В родительском классе бина есть метод getValue() он возвращает бизнес объект с которым работает веб-форма.
У объекта есть свойство — identityType значение которого это один из вариантов енума.
Вот на форме хочется сделать combobox но его значения задавать в 1м месте (просто в енуме)
Здравствуйте, Ionich, Вы писали: S>>А где определяется #{identityController.value.identityType} и если можна код IdentityType is Enum
I>В родительском классе бина есть метод getValue() он возвращает бизнес объект с которым работает веб-форма. I>У объекта есть свойство — identityType значение которого это один из вариантов енума. I>Вот на форме хочется сделать combobox но его значения задавать в 1м месте (просто в енуме)
Смущает сильно вот этот кусок, по крайней мере под OC4J налету id генерить у меня не получалось. I>>>>> id="#{viewId}identItyidentityType"
И получается разные типы, в new SelectItem(type.name()...) берем от enum name, а вернуть пытаемся enum
Тогда логичней было бы new SelectItem(type, Localization.loadLabel(type.name())))
identityType насколько я понял в объекте имеет свой getter & setter
Здравствуйте, stenkil, Вы писали:
S>Здравствуйте, Ionich, Вы писали: S>>>А где определяется #{identityController.value.identityType} и если можна код IdentityType is Enum
I>>В родительском классе бина есть метод getValue() он возвращает бизнес объект с которым работает веб-форма. I>>У объекта есть свойство — identityType значение которого это один из вариантов енума. I>>Вот на форме хочется сделать combobox но его значения задавать в 1м месте (просто в енуме)
S>Смущает сильно вот этот кусок, по крайней мере под OC4J налету id генерить у меня не получалось. I>>>>>> id="#{viewId}identItyidentityType"
Ну у нас эта штука работает нормально
S>И получается разные типы, в new SelectItem(type.name()...) берем от enum name, а вернуть пытаемся enum S>Тогда логичней было бы new SelectItem(type, Localization.loadLabel(type.name()))) S>identityType насколько я понял в объекте имеет свой getter & setter
Да, конечно, есть свой getter & setter.
Дело в том что SelectItem (класс из jsf) принимает в конструкторе 2 параметра и оба String
и здесь new SelectItem(type.name(), Localization.loadLabel(type.name()))
Первый параметр — имя значения енума, второй — его локализованное значение для отображения.
Причем в проекте полно других аналогичных мест где все работает прекрасно.
А вот именно здесь не хочет.
Здравствуйте, Ionich, Вы писали:
I>Причем в проекте полно других аналогичных мест где все работает прекрасно. I>А вот именно здесь не хочет.
А метод equals в других местах не переопределен случайно ?