2012-05-26 5 views
1

Ниже мой кодExpression Error: Названный объект: javax.faces.convert.IntegerConverter не найден

<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> 

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

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

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

ответ

4

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

Таким образом, это должно сделать:

<rich:select ... converter="javax.faces.Integer" /> 
+0

Это хорошо работает, когда я отправить форму, но если я хочу, чтобы отобразить обновления формы recod с выбранным ниспадающим значением позволяет пользователю редактировать, то богатых: выбрать не отображать любой выбранными запись. –

+0

Это другая проблема, которую нужно задать в новом вопросе. Я также недостаточно знаком с RichFaces, чтобы дать ответ на это с головы. – BalusC

Смежные вопросы