使用 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(使用前将#替换为@)