2012-05-26 28 views
1

以下是我的代码表达错误:命名对象: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”是“整数”的价值和“n.id”是“字符串”值。我需要将String转换为Integer。我正在使用以下属性converter="javax.faces.convert.IntegerConverter",但它给出了错误。

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

如何使用转换器<rich:select>

回答

4

converter属性必须指向具体实例,如#{bean.converter}或包含带转换器ID的字符串文字而不是完全限定的转换器类名称。如果您点击标准转换器的javadoc中的CONVERTER_ID字段常量,那么您将为,即javax.faces.IntegerIntegerConverter

所以,这应该这样做:

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

它运作良好,当我提交表单,但如果我想选择下拉值,显示更新recod形式允许用户进行编辑,然后丰富:选择不显示任何选择记录。 –

+0

这是一个需要在新问题中提出的不同问题。对于RichFaces,我也不太了解这个问题。 – BalusC

相关问题