我有2個UI:可重複嵌套這樣的:嵌套UI:重複的問題(或f:AJAX)
<ui:repeat var="father" value="#{miuchile3.getMenusPadre(miuchile3.keyModulo)}" >
<li>
<h:commandLink value="#{father.nombre}" action="#{miuchile3.setMenu(father)}">
<f:ajax render=":menupags:menuDetalle" />
</h:commandLink>
<ul>
<ui:repeat var="submenu" value="#{miuchile3.getHijos(father.id)}" >
<li><h:commandLink value="#{submenu.nombre}" actionListener="#{miuchile3.setMenu(submenu)}">
<f:ajax render=":menupags:menuDetalle" />
</h:commandLink></li>
</ui:repeat>
</ul>
</li>
</ui:repeat>
此產生一個菜單用這種格式
父親菜單1
- 兒子menu_1
- 兒子menu_2
父親菜單2
- 兒子menu2_1
- 兒子menu2_2
- 兒子menu2_3
etc ..
當我點擊這個子菜單時,我使用f:ajax來渲染一個面板組,其中顯示了所選菜單的詳細信息(它顯示了與它們相關的頁面),問題是它只適用於父親菜單1及其子菜單,但對於父菜單2,如果存在與「父菜單2」相關聯的第三子菜單並且我點擊它,則它不執行任何操作。
即時通訊不知道是否是嵌套的用戶界面問題:重複或與f:ajax,但我認爲ui:重複停止工作後,第二次迭代或類似的東西..「setMenu()」功能(在嵌套的ui中:重複)由於某種原因停止工作。但也可能是f:ajax ..我真的不知道。
編輯:
現在我發現了這個問題,但我不知道如何解決它。
問題在於,對於第一次迭代(第一個菜單及其子菜單),在動作「setMenu()」中調用的方法工作正常,但對於第二次迭代(父菜單2及其子菜單),setMenu ()方法僅被調用2次,如果有超過2個子菜單,在動作(setMenu())中調用的方法不起作用,我的意思是迭代起作用,因爲它打印菜單和子菜單的所有名稱,但第一次迭代後的操作僅適用於2個子菜單。
使用只是行動而不是actionListener發生同樣的事情..其實我只是改變了actionListener來看看會發生什麼。 – user2018726 2013-02-18 16:59:41
'如果有第三個子菜單關聯'我在這裏只看到2次迭代,所以有兩個子菜單,不是嗎?活動是否被解僱?我的意思是,如果你放置一個斷點,它會通過它嗎?如果不是,請按照actionListener的順序嘗試'action'並嘗試改變操作方法名稱,以避免IDE /服務器發佈相關問題。 – 2013-02-18 17:37:03
這個菜單隻支持2個級別,爲什麼只有2個迭代..我的問題在這裏不是菜單的生成..這是工作正常,問題是當我點擊每個子菜單中應該呈現其細節,但它只適用於我的第一個菜單和子菜單,但是當我點擊我的第二個父菜單的子菜單時,它顯示了第一個2子菜單,但如果有更多,它不顯示其他人的細節.. 看看我的第一篇文章中描述的菜單格式..在該模型中,一切正常,除非我點擊「兒子menu2_3 「, 什麼都沒發生。 – user2018726 2013-02-18 17:50:23