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>

「menuCycleGroupId」は「整数」値であり、「n.id」は「文字列」値です。文字列を整数に変換する必要があります。次の属性を使用していますconverter="javax.faces.convert.IntegerConverter"が、エラーが発生しています。

式エラー:名前付きオブジェクト:javax.faces.convert.IntegerConverterが見つかりません。

コンバーターを使用するにはどうすればよい<rich:select>ですか?

4

1 に答える 1

4

converter属性は、完全修飾されたコンバータークラス名ではなく、コンバーターIDを持つ文字列リテラルのような具体的なインスタンスを指しているか、#{bean.converter}文字列リテラルを含んでいる必要があります。CONVERTER_ID標準コンバータのjavadocでフィールド定数をクリックすると、それがの場合であることがわかります。javax.faces.IntegerIntegerConverter

したがって、これは次のことを行う必要があります。

<rich:select ... converter="javax.faces.Integer" />
于 2012-05-26T18:11:43.503 に答える