我有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