隐式表达式语言对象"组件"不适用于jsf 2.2.6

时间:2014-10-20 23:54:31

标签: validation jsf-2 el jsf-2.2 implicit

我正在将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相关吗?

2 个答案:

答案 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' }" -->

这很棘手。关于代码行的例外并不清楚。