cgh*_*lai 3 jsf el uicomponents
根据https://code.google.com/p/primefaces/issues/detail?id=4720,ComponentUtils.resolveWidgetVar(String expression, UIComponent component)自2013年以来,该功能在Primefaces中可用.它可以通过该"#{p:widgetVarFromContext(searchExpression, component)}"功能在EL中使用.
这在多个组件具有相同ID NamingContainer但不同但仍存在于同一视图中的情况下非常有用.在这种情况下,该#{p:widgetVar(searchExpression)}函数仅返回找到的最后一个函数.
我不明白如何引用UIComponent必须作为EL的第二个参数传递.上面提到的错误报告表明我们可以使用它来引用它#{component}.任何人都可以提供一个例子吗?
它#{component}是一个隐式EL变量,引用EL范围中的当前值UIComponent(另请参见隐式EL对象).您通常只能在组件的HTML属性或模板文本子项中引用它.
例如,在<h:inputText>它的情况下,它将引用UIInput类的实例,其中包括isValid()方法.
<h:inputText id="foo" required="true"
style="background: #{component.valid ? '' : 'pink'}"
onclick="alert('Client ID of this component is #{component.clientId}');" />
Run Code Online (Sandbox Code Playgroud)
您还可以使用binding属性让JSF在视图构建时间内对Facelet范围中的组件实例进行引用.这样,在视图渲染时,组件参考将在Facelet中的任何位置可用.
<script>alert('Client ID of foo component is #{foo.clientId}');</script>
<h:inputText binding="#{foo}" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1886 次 |
| 最近记录: |