jsf - 如何刷新不同文件中的元素

标签 jsf primefaces tree

我正在开发基于 primefaces 的 www 应用程序。我的组件之一 [tree] 是在 .xhtml 文件中定义的。我想从不同的地方[文件]刷新它。有什么办法可以做到这一点吗?我尝试过经典

update="nameOfElement"

但是根本不起作用。我不需要逐行的特定代码。一般而言如何做到这一点以及是否可能。如果没有 -> 我可以使用 primepush 来实现吗?如何传递树结构?

最佳答案

update许多 Primefaces 组件中的属性通常采用空格分隔的组件 id 字符串,在发生 JSF Ajax 请求/响应后应重新绘制该字符串。以下条目可以放入更新属性中:

  • @this 将仅更新此组件
  • @parent 将更新父级 UINamingContainer该组件的
  • @form 将更新此组件表单中的所有组件
  • nameOfElement 仅当组件相对于同一个 UINamingContainer 时才会更新具有以下元素的组件。

所以它似乎无法找到具有此 id 的组件,只是因为它位于不同的 UINamingContainer 中,例如。 <form> <h:dataTable> etc .

使用:前缀将解析相对于页面 View 根的 id。

update=":nameOfElement"

如果元素不在命名容器内,这应该能够找到该元素...

但是如果它位于前面添加了 id 的表单内怎么办?

update=":nameOfForm:nameOfElement"

然后上面应该找到相对于 View 根的表单前缀元素。

关于jsf - 如何刷新不同文件中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14485382/

相关文章:

java - javascript 中的城市/地址搜索自动完成

primefaces - 如何解决重新选择 SelectOneButton 问题?

c# - 在树结构中通过 ID 属性定位实例

c - 使用字符串路径将列表链接到文件,它是正确的实现吗?

树遍历算法

java - 在 JSF 2.0 应用程序中使用 RichFaces 4

java - 当 <ui :repeat> works for X but <c:forEach> works for Y

jsf - JSF 页面上的 BigDecimal 算法

ajax - 如何使用 PrimeFaces p :droppable inside datatable?

java - Primefaces 6.2 PhotoCam - Firefox/Safari 的网络摄像头错误