如何使用 迭代嵌套列表?

2024-04-19

使用 JSF 2.0,我需要显示一个表,其中每一行都包含一个可打开弹出窗口的链接。我有两个模型:A其中有id and List<B>属性和B其中有id and name特性。在我的支持豆中,我有一个List<A>财产。在我看来,我正在使用<ui:repeat>迭代List<A>.

要求是,根据用户点击的行,对应的List<B> of A需要显示。但是,那<ui:repeat>不接受在中分配的嵌套列表var属性。因此,我需要做很多效率不高的解决方法。

我如何有效地解决这个问题?


你需要的是嵌套另一个<ui:repeat>外部迭代中的标签:

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

唯一值得注意的是嵌套<ui:repeat>标签曾经在状态管理方面存在问题,直到 Mojarra 2.1.15 版本(详细信息参见jsf 侦听器未在嵌套 ui 内调用:repeat https://stackoverflow.com/questions/14975758/jsf-listener-not-called-inside-nested-uirepeat/14979480#14979480以及许多不太新近的问题及其答案),这可能会导致操作侦听器未被调用,等等。但如果您当前使用的是最新的 Mojarra JSF 实现 - 只需完全跳过这一部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 迭代嵌套列表? 的相关文章

随机推荐

  • navigator.language 所有语言的列表

    我在哪里可以看到语言及其代码列表 我想比较语言并在模板中自动选择所需的语言 它们跨浏览器相同吗 还有其他解决方案吗 出于复制和粘贴目的 af af NA af ZA agq agq CM ak ak GH am am ET ar ar 00
  • 如何在 gdb 上进行 grep 打印

    有没有办法在 gdb 中 grep 打印命令的输出 就我而言 我正在使用 gdb 调试核心转储 并且我正在调试的对象包含大量元素 我发现很难寻找匹配的属性 即 gdb print this grep
  • Java Collat​​or 与 MySQL 的 utf8_general_ci 排序规则具有相似的特性

    有没有Collator与MySQL的utf8 general ci具有相同特征的实现 我需要一个不区分大小写的整理器不区分德语元音变音如 与元音a 背景 我们最近遇到了一个错误 该错误是由表中的错误排序规则引起的 使用的排序规则是utf8
  • Xamarin 表单从可绑定属性更新视图模型字段

    我觉得我错过了一些非常明显的东西 我有一个自定义控件 它有一个视图模型 其中包含一堆字段 但此示例中最重要的是文本值 我可以使用自定义控件 XAML 中的以下内容非常轻松地绑定到它
  • 获取 Spotify 当前播放的曲目

    编辑 让我们尝试澄清这一切 我正在编写一个 python 脚本 我希望它告诉我 Spotify 当前正在播放的歌曲 我尝试寻找可以帮助我的库 但没有找到任何仍在维护和工作的库 我还浏览了 Spotify 的 Web API 但它没有提供任何
  • Rails + Cucumber/Capybara:如何在测试中设置/检索 cookie?

    我正在实现延迟登录功能 我的黄瓜功能应该描述它 Feature User log in Scenario Lazy login Given I didn t log out the last time I was on the site W
  • Qt 在信号/槽中使用 boost::shared_ptr

    是否可能 如果可以 如何在 Qt 中创建一个对共享指针常量引用的信号 槽 我想要一个如下所示的信号 void signal shared ptr
  • Python 电子邮件机器人 Pyzmail/IMAPclient 错误

    所以我正在编写一个Python脚本来从电子邮件中提取文本并遵循这些说明 https automatetheboringstuff com chapter16 这样做 这是迄今为止的脚本 import imapclient import pp
  • JavaScript - 获取浏览器支持的区域设置的完整列表

    我发现了支持的语言环境 https developer mozilla org en US docs Web JavaScript Reference Global Objects DateTimeFormat supportedLocal
  • 如何清除/删除 Knockout.js 中的可观察绑定?

    我正在将功能构建到用户可以多次执行的网页上 通过用户的操作 创建一个对象 模型并使用 ko applyBindings 将其应用于 HTML 数据绑定 HTML 是通过 jQuery 模板创建的 到目前为止 一切都很好 当我通过创建第二个对
  • C 中的临时对象

    在 C11 中 术语temporary lifetime被定义为 C11 6 2 4p8 结构体或联合体类型的非左值表达式 其中结构体或联合体包含数组类型的成员 递归地包括所有包含的结构体和联合体的成员 是指具有自动存储期限和临时生存期的对
  • 为什么 HTML 5 音频忽略移动设备音频设置(例如静音或音量)?

    我有一个针对移动 Android 用户的网站 我正在使用 HTML5 音频来播放背景音乐 即使设备处于静音状态也会播放音频 无论设备音量设置如何 音频都会以最高音量播放 有谁知道为什么会发生这些事情或如何获取设备当前的音频设置 我更喜欢客户
  • 在 Azure 服务总线命名空间上启用 CORS

    我想在 JavaScript 中使用 Azure 服务总线 REST API 不幸的是 我遇到了跨源问题 因为我的服务总线命名空间与我的站点不在同一域中 我知道您可以使用许多 Azure 服务启用 CORS 但我在 Azure 文档或其他地
  • 从 data.frame 中删除 NA 超过列长度 15% 的列 [重复]

    这个问题在这里已经有答案了 我有一个data frame10 个不同的列 每列的长度相同 我想消除任何具有 NA 大于柱长的 15 我首先需要制作一个函数来计算百分比NA对于每一列 然后再制作另一列data frame我在哪里应用该函数 最
  • 在 Spring MVC 中管理 HTML 资源(CSS、JS 文件)

    是否可以像grails resources那样在Spring MVC中管理HTML资源 与此类似 http www anyware co uk 2005 2011 09 12 optimising your application with
  • 二维的 Scipy curve_fit 不起作用 - 对象太深?

    我有一个 2400 x 2400 的数据数组 如下所示 data 2 302670298082603040e 01 2 304885241061924717e 01 2 305029774024092148e 01 2 3048071008
  • 如何在 tkinter 中找到当前小部件的大小?

    我在用着Python and Tkinter 并且我需要知道小部件的当前尺寸 宽度 高度 我试过了somewidget width 但它仅返回一个固定值 并且每当小部件大小发生变化时 例如 当调整窗口大小时 它都不会更新 somewidge
  • 如何使 array.forEach(async fn) 同步?

    假设我有一个数组 我想对数组的每个元素执行异步函数 let a x1 x2 x3 I want to await a forEach async x gt which equals to let fn async x gt await fn
  • 防止没有 GL 扩展的设备从 Google Play 下载应用程序

    是否可以使应用程序在 Google Play 商店中没有特定 OpenGL ES 扩展的设备上不可用 Since
  • 如何使用 迭代嵌套列表?

    使用 JSF 2 0 我需要显示一个表 其中每一行都包含一个可打开弹出窗口的链接 我有两个模型 A其中有id and List b 属性和B其中有id and name特性 在我的支持豆中 我有一个List a 财产 在我看来 我正在使用