如何在XHTML页面上迭代地图?

时间:2015-01-13 11:33:22

标签: jsf

我有一个如下所示的列表

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

当我尝试在xhtml页面中迭代地图时,我能够获得List<ActivitiesData>值,但我无法从地图中获取密钥(String)

代码如下所示。

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

任何人都可以告诉我如何从地图中显示关键字?

1 个答案:

答案 0 :(得分:0)

试试这个

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