I have bean "MyBean", which has property HashMap - "map" which values type is MyClass. I want to show some properties of map in jsf using ui:repeat. But these code:
<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>
But this code didn't show anything. Though when I try to show hashmap values in jsp this way, it was succesfull. Where I am wrong? And how fix that?
From the documentation for the repeat
value attribute:
The name of a collection of items that this tag iterates over. The collection may be a
List
, array,java.sql.ResultSet
, or an individual javaObject
. If the collection is null, this tag does nothing.
So, var is set as your HashMap
and EL tries to look up the key "value"
on it. You will need to expose your entry set as a List
.