我可以重新整理组件的整个树吗?

时间:2010-03-28 13:54:48

标签: jsf

我有一个JSF应用程序,其中包含几个主要组件和每个组件树。

在某个事件(值更改)上,我想为其中一个组件重新整理组件树。

例如:我可以在这里一次性重新呈现组件1,2和3:

<h:panelgroup id="1">
 <h:panelgroup id="2">
  <h:panelgroup id="3">
  <h:panelgroup/>
 <h:panelgroup/>
<h:panelgroup/>

<h:commandButton rerender="1*"> <--- Made up code.

这可能吗?

另一个想法 - 我可以使用通配符恢复吗? (I.E - ReRender所有ID开头或包含的组件:“UpdateMe”)

谢谢!

1 个答案:

答案 0 :(得分:3)

是的,你可以重新渲染整棵树。

您不能使用通配符(afaik),但可以使用表达式 - 例如

reRender="#{yourBean.yourRenderExpression}"

可以将逗号分隔的列表(或Collection)元素返回给reRender。

通常,您必须传递遵循UIComponent.findComponent(..)算法的参数。

请注意,<h:commandButton>没有rerender属性。它可以是<a4j:commandLinkreRender(大写),或者您应该使用jsf 2中的<f:ajax>