Using JSF:
是否可以迭代值包含Map
s 的Map
?
我有一个看起来像这样的Map
:
Map<String, Map<String, String>> myMap;
我想遍历myMap
并在表格中显示结果。
是的,您可以肯定,每个地图都可以迭代以获取条目集,在这种情况下您需要迭代两次,因为您在地图中有一个地图......
例:
public static void main(String args[]) {
Map< String, Map < String, String >> foo = new HashMap<String, Map < String, String >>();
for (Entry<String, Map<String, String>> fooEntry : foo.entrySet()) {
System.out.println(fooEntry.getKey());
for (Entry<String, String> fooValueEntry : fooEntry.getValue().entrySet()) {
System.out.println(fooValueEntry.getKey());
System.out.println(fooValueEntry.getValue());
}
}
}
JSF 数据表组件当前不支持映射上的迭代 (JSF 2.2)。 你将不得不做一些转换工作或使用c:forEach。
更多关于这里的信息:在h:dataTable中使用java.util.Map