2

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

update="nameOfElement"

但它根本不起作用。我不需要一行一行的特定代码。总的来说,如何做到这一点,甚至有可能。如果没有 - > 我可以为此使用 primepush 吗?如何传递树结构?

4

1 回答 1

3

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

  • @this只会更新这个组件
  • @parent将更新UINamingContainer该组件的父级
  • @form将更新此组件表单中的所有组件
  • 如果nameOfElement是相对于同一个 UINamingContainer 的,它只会更新具有以下元素的组件。

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

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

update=":nameOfElement"

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

但是,如果它位于前面加上其 id 的表单中怎么办?

update=":nameOfForm:nameOfElement"

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

于 2013-01-23T18:40:52.710 回答