Вопрос по richfaces, select, jsf, converter – Ошибка выражения: Именованный объект: javax.faces.convert.IntegerConverter не найден

1

Ниже мой код

<rich:select id="cycle_group" value="#{menuCycleBean.menuCycleDetailTO.menuCycleGroupId}" defaultLabel="#{msg['gobal.select.default.label']}" 
                converter="javax.faces.convert.IntegerConverter">
                <f:selectItems value="#{menuCycleBean.cycleGroupList}" var="n" itemLabel="#{n.label}" itemValue="#{n.id}" />
                </rich:select>

& Quot; menuCycleGroupId & Quot; является "целым числом" Значение и & quot; n.id & quot; is & quot; String & quot; значение. Мне нужно преобразовать строку в целое число. Я использую следующий атрибутconverter="javax.faces.convert.IntegerConverter", но это дает ошибку.

Expression Error: Named Object: javax.faces.convert.IntegerConverter not found.

Как я могу использовать конвертер с<rich:select>?

Ваш Ответ

1   ответ
4

converter атрибут должен указывать на конкретный экземпляр, например#{bean.converter} или содержать строковый литерал с идентификатором конвертера, а не полное имя класса конвертера. Если вы нажмете черезCONVERTER_ID константа поля в стандартном преобразователеJavadocто вывыяснить что этоjavax.faces.Integer дляIntegerConverter.

Итак, это должно сделать:

<rich:select ... converter="javax.faces.Integer" />
Это хорошо работает, когда я отправляю форму, но если я хочу отобразить форму обновления с выбранным выпадающим значением, разрешите пользователю редактировать, затем rich: select не отображает выбранную запись. d-man
Это другая проблема, которую необходимо задать в новом вопросе. Я также недостаточно знаком с RichFaces, чтобы дать ответ на этот вопрос.

Похожие вопросы