0
我有一個包含2個ui:repeat
的頁面來迭代複雜的集合。我需要添加commandlinks
,它將更新頁面上的一些數據而不刷新整個頁面。該代碼是這樣的:當頁面嵌套ui時,ajax調用不會reRender:repeat [JSF1.2]
<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
有問題,但我找不到任何解決方案。
一個簡單的替代方法是改變你的{masterlist}並讓它成爲列表列表的順序(如果你需要的話,使用輔助列表)。另一個機會是使用'c:foreach'來嘗試它。 – 2013-05-01 16:06:08
我嘗試更換一個或兩個用戶界面:用c:foreach重複,它沒有工作。如果可能的話,我想避免將masterlist更改爲一個分層列表,因爲實際的數據顯示比我在這裏顯示的要複雜得多。 – 2013-05-01 19:34:54