2012-01-15 24 views
1

我想要使用集合内的值(无论什么类型,HashMap,TreeMap),以填充ICEfaces数据表组件并显示对象属性。我能找到的唯一例子就是将Map的值简单地导出到List集合中,并用它来填充数据表。但是,我觉得这是非常浪费的,我现在被迫维持两个精确值的集合。如何使用Map集合与ICEfaces数据表组件

数据表组件是否支持迭代Map值?如果没有,那么有没有更好的办法解决这个问题呢?

为了好奇,我想使用Map集合来快速删除,并且最自然地适合我的数据(基于键)。

回答

1

值得一试:

我发现了以下解决方案:JSF: Using Map data in Datatable,在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> 
+0

这应该工作,我不关心订单。我明天会试一试,如果它有效,我一定会接受答案。谢谢! – Neeko 2012-01-15 22:06:08

相关问题