我正在将jsf 2.0应用程序迁移到jsf 2.2.6。隐式EL对象组件被广泛用作styleClass =“#{component.valid?'':'err'}”。
在jsf 2.2.6(jsf-impl-2.2.6-jbossorg-4.jar)中无法识别有效,抛出“ServletException:类'javax.faces.component.html.xxx'没有属性“有效”。
此功能是否已在jsf 2.x.x中弃用?
可以与JBoss EL相关吗?
答案 0 :(得分:1)
您似乎尝试完全不支持它的component.valid
元素,例如h:panelGroup没有 isValid getter,而{{3确实。
解决方法可能是滥用页面中其他元素的验证状态,以便应用另一个元素的styleClass,请参阅示例:
<h:panelGroup styleClass="#{myComponent.valid ? '' : 'error'}">
<h:inputText id="input" value="#{myBean.myValue}" binding="#{myComponent}">
</h:inputText>
</h:panelGroup >
答案 1 :(得分:0)
终于找到了异常的原因。问题是我在包含“component.valid”的代码中有一条评论。删除评论可以解决问题。
<!-- styleClass="#{component.valid ? '': 'err' }" -->
这很棘手。关于代码行的例外并不清楚。