【发布时间】:2015-12-19 11:14:04
【问题描述】:
我正在处理读取列表列表的动态 JSF 页面。 这个列表是从数据库加载的,然后元素的数量可以改变。
我需要为arrayList 中的每个元素创建一个div,然后将信息加载到一个表中。 (一个 div => 一个表)
(伪代码 jsp)
%
foreach(List Auxli: MainList){
int count=0;
<div id="count">
<table>
//information on auxLI
</table>
</div>
count = count+1;
}
%
我不知道如何在 JSF 上完成这项工作,因为我只有 <h:dataTable> 标记来读取 Bean 上的对象。
我读取了一个包含 ArrayList 的对象,但我不知道该剪切谁来创建 不同的 Divs
有人知道怎么做吗?
谢谢大家
最终解决方案
解决方案是使用两个 <ui:repeat> 和一个 KeySET 元素。这非常重要,因为“重复”不能迭代 MAPS!
<ui:repeat value="#{main.MAP.keySet().toArray()}" var="item">
<DIV id=#{main.getNumber()}>
<ui:repeat value="#{main.MAP.get(item)}" var="item2">
</DIV>
</UI>
</UI>
第二次重复使用第一个元素从列表中取出我们需要的信息。 我们为列表的每个主要元素获取一个 div,在 DIV 上,我们可以使用这些信息来制作您想要的所有内容!!! 再见
【问题讨论】:
-
<h:dataTable>本身是一个可迭代的 JSF 组件,在这种情况下,除了适当地使用var和value属性之外,您无需执行任何操作。 -
我不是在问如何使用
我问的是通过包含更多列表的列表中的数字对象来创建动态 Div。最后我在 上找到了一个可能的解决方案,谢谢,我会在它起作用时做出回答 -
如果有人投了反对票,请说明“因为”。如果有什么问题,大家都可以学习!!!!
标签: jsf