如何在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值时,它已成功完成。我哪里错了?以及如何解决?
问题答案:
从文档中获取repeat
value属性:
此标签进行迭代的项目集合的名称。集合可以是
List
,数组java.sql.ResultSet
或单个java
Object
。如果collection为null,则此标记不执行任何操作。
因此,将var设置为您的名称,HashMap
而EL尝试在其上查找密钥"value"
。您将需要将条目集公开为List
。