如何将地图集合与ICEfaces数据表组件一起使用



我正在尝试使用Map集合中的值(无论是哪种类型的HashMap、TreeMap)来填充ICEfaces数据表组件并显示对象属性。我能找到的唯一例子是那些简单地将Map的值导出到List集合中,并使用它来填充数据表的例子。然而,我觉得这是非常浪费的,我现在不得不保留两个精确价值的集合。

数据表组件甚至支持对Map的值进行迭代吗?如果没有,是否有比前面提到的解决方案更好的方法来解决这个问题?

对于好奇的人来说,我想使用Map集合来快速删除,它最自然地适合我的数据(基于密钥)。

值得一试:

我找到了以下解决方案:JSF:使用Datatable中的Map数据,URL中的例子指的是richfaces,但在我看来,你所需要做的就是使用IceFaces标签,如果你将使用LinkedHashMap,它可能会帮助你处理订单。。。

如果URL坏了,下面是代码:

Map<String,String> myMap;
public List<String> getMapKeys(){
    List<String> ret = new ArrayList<String>();
    for (String s : myMap.keySet())
        ret.add(s);
    return ret;
}

在JSF页面上:

<rich:extendedDataTable value="#{myBean.mapKeys}" var="item"
    id="datatable">
    <rich:column width="190px" sortable="false" label="Map entries"
        id="labelColumn">
        <f:facet name="header">Map entries</f:facet>
        <h:outputText value="#{myBean.myMap[item]}" />
    </rich:column>
  </rich:extendedDataTable>

最新更新