Re: JSF trouble 'not readable on type'
От: RomikT Германия  
Дата: 09.06.08 07:20
Оценка: +1
Здравствуйте, 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? Что-то у вас там напутано.
JSF trouble 'not readable on type'
От: Ionich  
Дата: 08.06.08 11:20
Оценка:
Есть проблема:
не работает контрол
вот кусок бина

class MyClass {

//...

    private ArrayList identityTypes = new ArrayList();

    public MyClass() {
        super(IdentityImpl.class, prefix, value);
        
        for (IdentityType type : IdentityType.values()) { // IdentityType is Enum
            identityTypes.add(new SelectItem(type.name(),
                    Localization.loadLabel(type.name())));
        }
    }

    public ArrayList getIdentityTypes () {
        return identityTypes;
    }

//...
}



вот кусок xhtml
            <h:selectOneMenu disabled="#{readonly}"
                             id="#{viewId}identItyidentityType"
                             value="#{identityController.value.identityType}">
                <f:selectItems value="#{identityController.identityTypes}" />
            </h:selectOneMenu>



Бин заполняет коллекцию нормально. Но на вызове вот этой строчки
<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

В чем может быть дело?
заранее спасибо
Re[2]: JSF trouble 'not readable on type'
От: Ionich  
Дата: 10.06.08 10:27
Оценка:
Здравствуйте, RomikT, Вы писали:

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? Что-то у вас там напутано.
Re: JSF trouble 'not readable on type'
От: Igor.K США  
Дата: 10.06.08 19:27
Оценка:
I>вот кусок xhtml
I>
I>            <h:selectOneMenu disabled="#{readonly}"
I>                             id="#{viewId}identItyidentityType"
I>                             value="#{identityController.value.identityType}">
I>                <f:selectItems value="#{identityController.identityTypes}" />
I>            </h:selectOneMenu>
I>

Вроде, id не может быть выражением. Facelets префиксом подставят Вам id формы.
"СССР — четыре слова и все лживые" — Вагрич Бахчанян
Re: JSF trouble 'not readable on type'
От: sovmaster  
Дата: 16.06.08 08:13
Оценка:
Здравствуйте, Ionich, Вы писали:

I>Есть проблема:

I>не работает контрол
I>вот кусок бина

I>
I>class MyClass {

I>//...

I>    private ArrayList identityTypes = new ArrayList();

I>    public MyClass() {
I>        super(IdentityImpl.class, prefix, value);
        
I>        for (IdentityType type : IdentityType.values()) { // IdentityType is Enum
I>            identityTypes.add(new SelectItem(type.name(),
I>                    Localization.loadLabel(type.name())));
I>        }
I>    }

I>    public ArrayList getIdentityTypes () {
I>        return identityTypes;
I>    }

I>//...
I>}
I>



I>вот кусок xhtml

I>
I>            <h:selectOneMenu disabled="#{readonly}"
I>                             id="#{viewId}identItyidentityType"
I>                             value="#{identityController.value.identityType}">
I>                <f:selectItems value="#{identityController.identityTypes}" />
I>            </h:selectOneMenu>

I>



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 () определен например в локальном интерфейсе бина?
Re[2]: JSF trouble 'not readable on type'
От: Ionich  
Дата: 17.06.08 13:49
Оценка:
Здравствуйте, sovmaster, Вы писали:

Его интерфейс ни где не описывается. Он сам описывается в faces-config.xml
вот так:


    <managed-bean>
        <managed-bean-name>identityController</managed-bean-name>
        <managed-bean-class>com.contora.frontend.web.pages.impl.MyClass</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
        <managed-property>
            <property-name>userSession</property-name>
            <value>#{userSession}</value>
        </managed-property>
    </managed-bean>



S>Здравствуйте, Ionich, Вы писали:


I>>Есть проблема:

I>>не работает контрол
I>>вот кусок бина

I>>
I>>class MyClass {

I>>//...

I>>    private ArrayList identityTypes = new ArrayList();

I>>    public MyClass() {
I>>        super(IdentityImpl.class, prefix, value);
        
I>>        for (IdentityType type : IdentityType.values()) { // IdentityType is Enum
I>>            identityTypes.add(new SelectItem(type.name(),
I>>                    Localization.loadLabel(type.name())));
I>>        }
I>>    }

I>>    public ArrayList getIdentityTypes () {
I>>        return identityTypes;
I>>    }

I>>//...
I>>}
I>>



I>>вот кусок xhtml

I>>
I>>            <h:selectOneMenu disabled="#{readonly}"
I>>                             id="#{viewId}identItyidentityType"
I>>                             value="#{identityController.value.identityType}">
I>>                <f:selectItems value="#{identityController.identityTypes}" />
I>>            </h:selectOneMenu>

I>>



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 () определен например в локальном интерфейсе бина?
Re[3]: JSF trouble 'not readable on type'
От: Igor.K США  
Дата: 17.06.08 16:04
Оценка:
I>Его интерфейс ни где не описывается. Он сам описывается в faces-config.xml
I>вот так:
Какое окружение?
"СССР — четыре слова и все лживые" — Вагрич Бахчанян
Re[3]: JSF trouble 'not readable on type'
От: stenkil  
Дата: 17.06.08 16:20
Оценка:
Здравствуйте, Ionich, Вы писали:

I>>>вот кусок xhtml

I>>>
I>>>            <h:selectOneMenu disabled="#{readonly}"
I>>>                             id="#{viewId}identItyidentityType"
I>>>                             value="#{identityController.value.identityType}">
I>>>                <f:selectItems value="#{identityController.identityTypes}" />
I>>>            </h:selectOneMenu>

I>>>


А где определяется #{identityController.value.identityType} и если можна код IdentityType is Enum
Re[4]: JSF trouble 'not readable on type'
От: Ionich  
Дата: 18.06.08 08:01
Оценка:
Здравствуйте, Igor.K, Вы писали:

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>Какое окружение?
Re[4]: JSF trouble 'not readable on type'
От: Ionich  
Дата: 18.06.08 08:14
Оценка:
Здравствуйте, stenkil, Вы писали:

S>Здравствуйте, Ionich, Вы писали:


I>>>>вот кусок xhtml

I>>>>
I>>>>            <h:selectOneMenu disabled="#{readonly}"
I>>>>                             id="#{viewId}identItyidentityType"
I>>>>                             value="#{identityController.value.identityType}">
I>>>>                <f:selectItems value="#{identityController.identityTypes}" />
I>>>>            </h:selectOneMenu>

I>>>>


S>А где определяется #{identityController.value.identityType} и если можна код IdentityType is Enum


В родительском классе бина есть метод getValue() он возвращает бизнес объект с которым работает веб-форма.
У объекта есть свойство — identityType значение которого это один из вариантов енума.
Вот на форме хочется сделать combobox но его значения задавать в 1м месте (просто в енуме)
Re[5]: JSF trouble 'not readable on type'
От: stenkil  
Дата: 18.06.08 09:15
Оценка:
Здравствуйте, 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
Re[6]: JSF trouble 'not readable on type'
От: Ionich  
Дата: 18.06.08 09:43
Оценка:
Здравствуйте, 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()))
Первый параметр — имя значения енума, второй — его локализованное значение для отображения.

Причем в проекте полно других аналогичных мест где все работает прекрасно.
А вот именно здесь не хочет.
Re[7]: JSF trouble 'not readable on type'
От: stenkil  
Дата: 18.06.08 09:59
Оценка:
Здравствуйте, Ionich, Вы писали:

I>Причем в проекте полно других аналогичных мест где все работает прекрасно.

I>А вот именно здесь не хочет.
А метод equals в других местах не переопределен случайно ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.