在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>