使用JSF:
是否可以迭代Map
,其值包含Map
s?
我的Map
看起来像这样:
Map<String, Map<String, String>> myMap;
我想迭代myMap
并在表格中显示结果。
答案 0 :(得分:0)
是的,你可以肯定的是,每个地图都可以迭代获得Entry Set,你需要在这种情况下迭代两次,因为你在Map中有一个Map ...
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());
}
}
}
答案 1 :(得分:0)
JSF数据表组件当前不支持地图上的迭代(JSF 2.2)。 你将不得不做一些转换工作或使用c:forEach。
有关此内容的更多信息:Using java.util.Map in h:dataTable