如何在jsf中显示哈希图值?


问题内容

我有bean“ MyBean”,它具有属性HashMap-“
map”,其值类型为MyClass。我想使用ui:repeat在jsf中显示map的一些属性。但是这些代码:

<ui:repeat  var="var"  value="#{mybean.map}" >
<tr> 
<td> <h:outputText value="#{var.value.property1}"></h:outputText> </td>
<td><h:outputText value="#{var.value.property2}"></h:outputText></td>
</tr>
</ui:repeat>

但是这段代码没有显示任何内容。虽然当我尝试以这种方式在jsp中显示hashmap值时,它已成功完成。我哪里错了?以及如何解决?


问题答案:

文档中获取repeatvalue属性:

此标签进行迭代的项目集合的名称。集合可以是List,数组java.sql.ResultSet或单个java
Object。如果collection为null,则此标记不执行任何操作。

因此,将var设置为您的名称,HashMap而EL尝试在其上查找密钥"value"。您将需要将条目集公开为List