如何显示Map的结果<string,map <string,=“”string =“”>&gt;在JSF的数据表?

时间:2016-06-15 18:43:39

标签: jsf primefaces datatable hashmap

使用JSF:

是否可以迭代Map,其值包含Map s?

我的Map看起来像这样:

Map<String, Map<String, String>> myMap;

我想迭代myMap并在表格中显示结果。

2 个答案:

答案 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