如何从支持 bean 中找到包含复合组件 ID 的组件 ID

How to find an component ID including the composite component ID from backing bean

我们的项目使用PF5.1,我们在复合组件中有一个dataTable。所以在页面渲染之后。 dataTable 的 id 有点像 j_idt123:tableForm:tableId.

我们需要在搜索前清除 table 过滤器内容。我尝试使用以下代码在支持 bean 中找到它,但它 returns null

FacesContext.getCurrentInstance().getViewRoot().findComponent("tableId");

由于此组件将在不同的 xhtml 文件中使用,所以此 "j_idt123" 内容每次都会更改。获得 table 的正确方法是什么?

"j_idt123" 是为未指定自己的组件生成的 ID。 只需给 "tableForm" 的父容器一个 id。