表达式错误:命名对象:找不到javax.faces.convert.IntegerConverter

时间:2012-05-26 12:48:43

标签: jsf select richfaces converter

以下是我的代码

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

&#34; menuCycleGroupId&#34;是&#34;整数&#34;价值和&#34; n.id&#34;是&#34; String&#34;值。我需要将String转换为Integer。我使用了以下属性converter="javax.faces.convert.IntegerConverter",但它给出了错误。

  

表达式错误:命名对象:找不到javax.faces.convert.IntegerConverter。

如何将转换器与<rich:select>一起使用?

1 个答案:

答案 0 :(得分:4)

converter属性必须指向像#{bean.converter}这样的具体实例,或者包含带有转换器ID的字符串文字而不是完全限定的转换器类名。如果您点击标准转换器javadoc中的CONVERTER_ID字段常量,那么javax.faces.Integer IntegerConverter <rich:select ... converter="javax.faces.Integer" /> {{1}}。{/ 1}

所以,这应该做:

{{1}}