我有一个页面,有2个ui:repeat
来迭代一个复杂的集合。我需要添加commandlinks
,这将更新页面上的一些数据,而不刷新整个页面。代码如下:
<h:panelGroup id="panel1">
#{backBean.getNumber()}
</h:panelGroup>
<h:form>
<a4j:commandlink action="#{backBean.increaseNumber()}" reRender="panel1" />
</h:form>
<ui:repeat value="#{masterlist}" var="list">
<ui:repeat value="#{list}" var="element">
#{element.description}
</ui:repeat>
</ui:repeat>
我可以看到increaseNumber()
方法被调用,号码被更新,但panel1没有重新渲染。如果我删除一个ui:repeat
标签,然后它将工作。我在网上做了研究,似乎有嵌套ui:repeat
的问题,但我找不到任何解决方案。
我明白了。用a4j:repeat代替ui:repeat