0

JSF 1.2 アプリケーション xhtml ファイルの facelet コードは次のとおりです。

<h:selectOneRadio value="#{cdM.val}"> 
       <f:selectItems value="#{userBean.myBooleanValues}" />      
</h:selectOneRadio>

userBean.myBooleanValues メソッドは select Item を次のように返します: new SelectItem(Boolean.TRUE, "Yes") と同様の "NO"

cdM.val の型は次のとおりです。Object val;

上記のラジオ コンポーネントが UI でレンダリングされると、以下の例外が発生します。java.lang.IllegalArgumentException:Value が文字列ではなく (class=java.lang.Boolean、value=true)、コンポーネント form0: with path: .......コンバータがありません。

最も奇妙な部分は、jsf facelet jar バージョンが jsf-facelets-1.1.14.jar の場合、上記の例外が消えることです。(および jsf-facelets-1.1.11.jar に表示されます)。

例外を伴うコンバーターを作成する必要がありますか?

4

1 に答える 1