1

是否可以使用 Primefaces 选择器 - PFS 更新任何 html 片段?考虑一下:

<h:outputText id="test" value="#{testBean.date}"/>
<span id="test2"><h:outputText value="#{testBean.date}"/></span>

<p:commandButton value="test" process="@none" update="@(#test)"/>
<p:commandButton value="test2" process="@none" update="@(#test2)"/>

只有第一个按钮正在刷新。这是一个简单的例子——我真正需要的是更新数据表的某些部分,而不是刷新整个组件。

4

1 回答 1

3

不,那是不可能的。更新目标不仅在客户端可以在 HTML DOM 树中通过 获取document.getElementById(),而且在服务器端通过UIViewRoot#findComponent()获取,以便 JSF 可以重新生成最终在 ajax 更新期间应用的所需 HTML 输出。

如果您向 JSF 提供纯 HTML 元素的 ID,那么它将在组件树中找不到任何内容来重新生成所需的新 HTML 输出。只需将纯 HTML 元素替换为 JSF 组件即可。

PrimeFaces 选择器最终会转换为 HTML 元素 ID。PrimeFaces 将遍历 jQuery 选择器找到的元素,并id在传递给 JSF 之前提取它们的属性。因此,这基本上与此处已经回答的问题相同:Is it possible to update non-JSF components (plain HTML) with JSF ajax? .

于 2013-04-12T11:48:47.007 回答