当前位置: 首页 > 知识库问答 >
问题:

嵌套ui:重复问题(或f:ajax)

岳浩宕
2023-03-14

我有2 ui:重复嵌套像这样:

<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
  • 儿子菜单2

>

  • 儿子menu2_1
  • 儿子menu2_2
  • 儿子menu2_3

等...

当我点击这个子菜单时,我使用f:ajax来呈现一个面板组,其中包含所选菜单的详细信息(它显示与它们相关联的页面),问题是它只适用于父菜单1及其子菜单,但对于父菜单2,它适用于它的2个第一个子菜单,如果有第三个子菜单与“父菜单2”关联,我点击它,它不会做任何事情。

我不确定这是嵌套ui:repeat还是f:ajax的问题,但我认为ui:repeat在第二次迭代或类似的情况下会停止正常工作。。“setMenu()”函数(嵌套ui内:repeat)因某种原因停止工作。但也可能是f:ajax。。我真的不知道。

编辑:

现在我发现了问题,但我还不知道如何解决它。

问题是,对于第一次迭代(第一个菜单及其子菜单),方法im调用的动作setMenu()工作正常,但对于第二次迭代(父亲菜单2,及其子菜单)setMenu()方法被调用只有2次,如果有超过2个子菜单,方法im调用的动作(setMenu())不工作,我的意思是迭代工作,因为它打印所有的名称菜单和子菜单,但第一次迭代后的动作只适用于2个子菜单。

共有1个答案

徐帅
2023-03-14

我更改了ui:repeat for a datatable,它按照我的要求工作。。我不建议使用ui:repeat-nested,如果需要调用内部的某些操作,它会有奇怪的行为。

 类似资料:
  • 当按下按钮删除对象子列表中的一个元素时,我试图使用ajax重新命名包含在另一个对象列表中的对象列表的容器。但是我找不到子列表对象的父容器。 java对象表示为这样的 IE 现在,我尝试将一个delete按钮与每个停止(第二个嵌套对象列表)关联起来,并使用f:ajax render重新渲染这些停止的容器。 即 现在我已经尝试了渲染id的几种不同排列,但是我不明白为什么我不能在小组上执行ajax请求。

  • 在下面的代码中,我试图在< code >选项卡下显示所有< code >项目(对象),它们应该基于它们的类别。 类别必须相等。 编辑:如果还不清楚,请看这里。 我正在尝试遍历选项卡并将每个选项卡的名称添加到选项卡的“模板”中。 然后,我尝试遍历项目,如果项目的类别与选项卡的类别匹配,那么它将显示在选项卡下。 出于某种原因,它似乎不起作用。我做错什么了吗?< br >请原谅我和我的逻辑,过去两天一直

  • 我有一个垂直的viewpager在一个水平的viewpager。在horzontal viewpager I的第二个片段中,添加了垂直viewpager。垂直viewpager包含有图像的片段,所以当片段对用户可见时,我必须开始动画图像,因为使用了setUserVisibleHint。但是当移动到水平viewpager的第二个片段时,不会调用垂直viewpager内部片段的setUserVisib

  • 我正在使用平均堆栈在网格中显示以下数组。 嵌套数组:

  • 我想映射到产品字段,而不创建类 应该如何序列化和反序列化?

  • 我有一个这样的数组: 中的数组包括另外两个数组(第一个不是必需的,但看看第二个(:这个数组包含不同的 x/y 坐标 ) 我想得到另一个数组的结果,如下所示(解释如下): 数组现在按其 x 值排序 ( -- 我不知道如何编码;这是我到目前为止所拥有的: 编辑:有一点忘记说了,就是应该分组的坐标的不应该大于。看下面的例子: