在xhtml页面中分别显示Hashmap中的每个值时,我需要您的帮助和助手。我试图将哈希图转换为List,但未成功。我的代码如下:

private List<String> selectedTypes = new ArrayList<String>();
// The above list will store the selected types for example:(A,B)

 Map<String, String> typesNames = new HashMap<String,String>(selectedTypes.size());

        typesNames .put("A", "Type A");

        typesNames .put("B", "Type B");

        typesNames .put("C", "Type C");

    for(String key: selectedTypes)
    {
                 System.out.println(typesNames.get(key));
    }


结果在控制台中显示为:
A型
B型

所以现在我的问题是如何在列表的xhtml页面中显示以上输出?

最佳答案

这应该是可行的;

<c:forEach items="#{yourBean.map}" var="entry">
   <li>Key: #{entry.key}, value: #{entry.value}</li>
</c:forEach>


- - 编辑

    private Map<String, String> typesNames ;
    private List<String> selectedTypes;

    public void fillMap() {
        typesNames = new HashMap<String,String>();

            typesNames .put("A", "Type A");

            typesNames .put("B", "Type B");

            typesNames .put("C", "Type C");
        selectedTypes = new ArrayList<String>(typesNames .keySet());
    }

    public Map<String, String> getMap(){
         return typesNames ;
    }

    public List<String> getKeyList(){
         return selectedTypes;
    }


输出;

   <h:dataTable value="#{yourBean.selectedTypes}" var="key">
        <h:column>
            Key: #{key}
        </h:column>
        <h:column>
            Value: #{yourBean.typesNames[key]}
        </h:column>
    </h:dataTable>

09-05 13:19