当前位置: 首页 > 面试题库 >

在JSF 2.0中检索其他组件的客户机ID

宗政天逸
2023-03-14
问题内容

JSF
2.0是否具有用于查找另一个组件的客户机ID的内置方法?关于SO的问题有大约一千个与客户ID相关的问题,并且有很多骇人听闻的方法可以做到这一点,但是我想知道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}" />`

根据上面的博客文章,这应该可以,但是不能。 我没有输出。

`<h:button id="sampleButton" value="Sample" />`

`<h:outputText value="sampleButton's client ID : #{sampleButton.clientId}" />`

这适用于PrimeFaces:

`<h:outputText value="PrimeFaces : sampleButton's client ID : #{p:component('sampleButton')}" />`

在RichFaces中工作:

`<h:outputText value="RichFaces : sampleButton's client ID : #{rich:clientId('sampleButton')}" />`

另外,如果有可能,我正在寻找不会改变的解决方案,只要更改javax.faces.SEPARATOR_CHAR值或在引用的组件之外添加/删除容器即可。我花了很多时间来查找由硬编码的ID路径引起的问题。


问题答案:

您需要通过binding属性在视图作用域中为组件分配变量名称。

<h:button id="sampleButton" binding="#{sampleButton}" value="Sample" />
<h:outputText value="sampleButton's client ID : #{sampleButton.clientId}" />


 类似资料:
  • 为方便测试,我们以RPC中的例子来实现服务端,具体请看文档RPC章节。 纯原生异步 public static function mainServerCreate(ServerManager $server,EventRegister $register): void { // TODO: Implement mainServerCreate() method.

  • 我正在尝试各种Azure功能,目前希望从KeyVault检索一个秘密。 直截了当地说: 我正在使用这个nuget包与我的azure资源进行交互。 我开发了一个简单的。NET核心控制台应用程序,并在本地运行。 我有一个密钥库资源,其中定义了一个处于活动状态且未过期的秘密。 我在AAD中注册了一个应用程序,因此我的本地出货。NET Core控制台应用程序在AAD中具有标识。 然后我在AAD的注册应用程

  • 问题内容: 我试图通过一个简单的SQL语句获取客户端的IP地址。我不想使用PHP或其他技术。仅纯SQL。当我使用 我懂了 当我使用 我懂了 但是我如何获得普通IP?非常感谢。 问题答案: 您将仅获得与MySQL通信的客户端进程的IP地址。假设这是您想要的: 将为您提供连接到当前连接上的mysql服务器的主机名(如果未启用名称解析,通常为IP地址)。

  • 这里有一个映射,我正在尝试检查数组中的值,如果它找到,则返回;如果它没有找到,则返回预期输出。根据我对和索引的了解,如果(x[index]===y[j]){condition=true}应该进入

  • 我将RVM用于我的Ruby安装。 任何帮助都将不胜感激。 谢谢你所有贴心的回答。