我有以下 JSF 1.2 应用程序 xhtml 文件的 facelet 代码:
<h:selectOneRadio value="#{cdM.val}">
<f:selectItems value="#{userBean.myBooleanValues}" />
</h:selectOneRadio>
userBean.myBooleanValues 方法将选择项返回为:new SelectItem(Boolean.TRUE, "Yes") 和类似的“NO”
cdM.val 的类型为:Object val;
当上面的无线电组件在 UI 上呈现时,我遇到了异常。java.lang.IllegalArgumentException:Value is no String (class=java.lang.Boolean, value=true) and component form0: with path: .......没有转换器。
最奇怪的是,当 jsf facelet jar 版本为:jsf-facelets-1.1.14.jar 时,上述异常消失了。(并出现在 jsf-facelets-1.1.11.jar 中)。
除了例外,我是否需要编写任何转换器来处理