cut*_*hin 18 java jsf richfaces clientid primefaces
JSF 2.0是否有内置方法来查找另一个组件的客户端ID?在SO上有大约一千个与客户端ID相关的问题,并且有很多hackish方法可以做到这一点,但我想知道JSF 2.0是否带来了一个我不知道的更简单的方法.
#{component.clientId}
评估给定组件自己的客户端ID,但我想引用另一个组件的ID.
这个博客文章提到component.clientId
,它也说#{someComponent.clientId}
有效,但从我可以告诉它没有.我相信他在JSF 2.0的任何参考实现出来之前都写过,所以他只是去了JSR,也许这个功能发生了变化.我不确定.
我知道PrimeFaces和RichFaces都有自己的函数来返回客户端ID,但我只是想知道是否有内置的JSF 2.0方法.这里有些例子:
这可以返回outputText的ID.
`<h:outputText value="My client ID : #{component.clientId}" />`
Run Code Online (Sandbox Code Playgroud)
根据上面的博客文章,这应该有效,但事实并非如此.我没有输出.
`<h:button id="sampleButton" value="Sample" />`
`<h:outputText value="sampleButton's client ID : #{sampleButton.clientId}" />`
Run Code Online (Sandbox Code Playgroud)
这适用于PrimeFaces:
`<h:outputText value="PrimeFaces : sampleButton's client ID : #{p:component('sampleButton')}" />`
Run Code Online (Sandbox Code Playgroud)
在RichFaces中工作:
`<h:outputText value="RichFaces : sampleButton's client ID : #{rich:clientId('sampleButton')}" />`
Run Code Online (Sandbox Code Playgroud)
此外,如果可能的话,我正在寻找不会破坏的解决方案,如果我更改了javax.faces.SEPARATOR_CHAR
值,或者我在引用的组件之外添加/删除容器.我花了很多时间来追踪由硬编码ID路径引起的问题.
Bal*_*usC 33
您需要在视图范围中按binding
属性为组件分配变量名称.
<h:button id="sampleButton" binding="#{sampleButton}" value="Sample" />
<h:outputText value="sampleButton's client ID : #{sampleButton.clientId}" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24201 次 |
最近记录: |