在jsf中迭代hashmap

时间:2015-10-26 11:47:12

标签: jsf primefaces

过去几天我被困在这里。我的bean有HashMap,其地图值为objects。我试图通过将其转换为列表来迭代地图。

如果我做这样的事情 在bean

List<Map.Entry<String, List<Objects>>> entrySet = new ArrayList<…>map.EntrySet();

在xhtml中:

<p:datatable var=”obj” value=”#{bean.entrySet}”>>
  <p:columnGroup>
    <p:row>
      <ui:repeat var=”values” value=”#{obj.value}”>
          <p:column headerText=”#{values.xyz}” />
      </ui:repeat>
   <p:row>
  </p:columnGroup>
</p:datatable>

它显示一个空列

但是,如果我这样做: 在bean

List<Object> list = new ArrayList<Object>();

在xhtml中:

<p:datatable>
…
   <ui:repeat var=”values” value=”#{bean.list}”>
   …
   </ui:repeat>
…
</p:datatable>

有效。我不明白的是hashmap的值是对象列表。如果我迭代列表中的值,为什么它不起作用?

如果有人能告诉我第一种方法有什么问题,我真的很感激。我可以使用第二个,但它需要在bean中进行重大更改。

我已经看过以下问题,但无法解决我的问题

How to show hashmap values in jsf?

Primefaces static and dynamic columns in datatable

Creating and populating a DataTable dynamically in JSF2.0

How to display variable number of columns in primefaces datatable

0 个答案:

没有答案