2010-03-28 46 views
1

我有一个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. 

这可能吗?

另一个想法 - 我可以reRender与通配符? (I.E - ReRender所有组件的ID开始或包含:“UpdateMe”)

谢谢!

回答

3

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

不能使用通配符(据我所知),但你可以使用表达式 - 为元素重新呈现的例子

reRender="#{yourBean.yourRenderExpression}" 

可以返回逗号分隔的列表(或Collection)。

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

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