jsf - 如何在 EL 中获取当前组件的 id

标签 jsf jsf-2 primefaces el

我正在使用 JSF 和 PrimeFaces,但我需要获取组件的 id 值。因为我正在构建具有不同 id 的 dinamycally 面板,为了显示我需要比较的面板,如果是当前面板,然后显示它。

例如,如果我有下一个面板

<p:outputPanel id="#{bean.getID}" autoUpdate="true"
   renderer=#{@this.id == bean.currentPanel}
>
</p:outputPanel>

和 bean

public class Bean(){
  private int numberPanels =0;
  private int currentPanel = 0;

  public int getID(){
     //...a process that return different ID
  }
  // getter's and setters

}

显然,@this.id不起作用。那么,如何使用 PrimeFaces 获取组件的 JSF 的 ID 值呢?

最佳答案

有一个隐含的 #{component} EL 作用域中计算当前 UI 组件的对象。鉴于此信息,您将获得以下属性:

rendered="#{component.id eq bean.currentPanel}"

关于jsf - 如何在 EL 中获取当前组件的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18988331/

相关文章:

css - 正确显示 p :blockUI on whole page with p:layout

css - 通过 JSF 在 css 中加载背景图像

jsf - 为什么 getQueryString() 在带有 h :commandButton 的 jsf 支持 bean 中不起作用

java - dataTable排序问题(JSF2.0 + primefaces)

jsf - 使用primefaces Printer打印后如何重定向到页面?

javascript - Primefaces printer.js 有什么作用?

ajax - 仅在 Accordion Primefaces 的选项卡上更新

ajax - 这个奇怪的 httpError 是什么意思?

jsf - Primefaces 主题配置

primefaces - 重置素数中的输入字段