0

I have a list like below

List<Map<String,List<ActivitiesData>>>

When I tried to iterate map in xhtml page I am able to get the List<ActivitiesData> values but I am unable to get the key(String) from map

The code is like below.

<ui:repeat var="timelineDateMapObject" value="#{timelineBean.timelineList}">
    <ui:repeat value="#{timelineDateMapObject.keySet().toArray()}" var="x">
        <ui:repeat var="timelineData" value="#{timelineDateMapObject.get(x)}" varStatus="status">
            <tr>
                <td style="padding-right: 10px;padding-left: 20px;"> #{timelineData.hoursAndMiniuts}</td>
                <td style="padding-right: 10px;padding-left: 20px;"> #{timelineData.type}</td>
            </tr>

            <tr>
                <td style="padding-right: 10px;padding-left: 20px;">
                    <h:graphicImage style="height: 50px; width: 50px" value="#{timelineData.url}" />
                </td>

                <td style="padding-right: 10px;padding-left: 20px;">#{timelineData.text}</td>
            </tr>

            <tr>
                <td height="25px"></td>
                <td></td>
            </tr>
        </ui:repeat>
    </ui:repeat>
</ui:repeat>

Anyone please tell me how can I display key from map?

Tiny
  • 27,221
  • 105
  • 339
  • 599
user3270288
  • 39
  • 2
  • 4

1 Answers1

0

Try this

<ui:repeat var="timelineDateMapObject" value="#{timelineBean.timelineList}">
    <c:forEach items="#{timelineDateMapObject}" var="timelineData">
            <tr>
                <td style="padding-right: 10px;padding-left: 20px;"> #{timelineData.value.hoursAndMiniuts}</td>

                <td style="padding-right: 10px;padding-left: 20px;"> #{timelineData.value.type}</td>
            </tr>
            <tr>
                <td style="padding-right: 10px;padding-left: 20px;">
                    <h:graphicImage style="height: 50px; width: 50px" value="#{timelineData.value.url}" />
                </td>

                <td style="padding-right: 10px;padding-left: 20px;">#{timelineData.value.text}</td>

            </tr>
            <tr>
                <td height="25px"></td>
                <td></td>
            </tr>
    </c:forEach>    
</ui:repeat>
Predrag Maric
  • 23,938
  • 5
  • 52
  • 68