2013-03-31 35 views
7

使用JSF 2.0,我需要顯示一個表,其中每一行都包含一個打開彈出窗口的鏈接。我有兩個型號:A其中有idList<B>屬性和B其中有idname屬性。在我的支持bean中,我有一個List<A>屬性。在我看來,我使用<ui:repeat>來遍歷List<A>如何使用<ui:repeat>迭代嵌套列表?

要求是,根據用戶點擊的行,需要顯示相應的List<B>A。但<ui:repeat>不接受在var屬性中分配的嵌套列表。因此,我需要做很多無效的解決方法。

如何有效解決此問題?

+0

告訴我們你試過的東西! – skuntsel

回答

13

你需要的是窩在你的外部循環的另一個<ui:repeat>標籤:

<ui:repeat value="#{bean.listOfA}" var="a"> 
    ... 
    <ui:repeat value="#{a.listOfB}" var="b"> 
     ... 
    </ui:repeat> 
</ui:repeat> 

唯一剩下這是值得注意的是,使用嵌套<ui:repeat>標籤與狀態管理問題,直到鑽嘴魚科2.1.15版本(詳見jsf listener not called inside nested ui:repeat以及很多不是最近的問題及其答案),這可能會導致操作偵聽器未被調用等,但是如果您目前正在使用最新的Mojarra JSF實現 - 則完全跳過這一部分。