【发布时间】:2014-04-06 03:19:48
【问题描述】:
互联网上有很多使用JSF页面上的组件对象的教程。 通常使用 component.clientId 或 component.valid。 示例
<h:inputText .... styleClass="#{component.valid ? '' : 'ui-input-invalid'}"/>
如果我用这样的组件创建页面,我会得到一个错误:
javax.el.PropertyNotFoundException:
The class 'javax.faces.component.UIPanel' does not have the property 'valid'.
我用谷歌搜索了 inputText 应该有 UIInput 类(它有 isValid 方法),但我有 UIPanel(它没有)。
知道为什么会有 UI 面板吗? (Java EE 6、JSF 2.1、Weblogic 12.1.2)
【问题讨论】:
-
您使用的是什么版本的 JSF?
component隐式对象在我的版本 (2.2) 中没有valid属性 -
现在我使用 JSF 2.1。我见过它,例如here.
-
componentdoes not have avalidattribute。我不知道您链接的答案在说什么,但 API 中没有任何内容可以支持它 -
你是对的,但是看看BalusC explanation >>
组件的#{component} 指的是 UIInput 类的一个实例,它又具有一个 isValid() 方法. -
好的。你有文章和 API。任君挑选。