将唯一ID分配给<c:foreach> </c:foreach> </div>中的<div>

时间:2013-03-21 18:30:44

标签: jsf jsf-2 jstl

我想为<div>中的<c:forEach>分配一个唯一ID。每当呈现页面时,<div>生成的所有<c:forEach>都具有相同的ID。有没有办法为<c:forEach>生成的所有div分配唯一ID?我尝试过使用<ui:repeat>,但我遇到了问题所以我决定坚持使用<c:forEach>

的facelet:

<c:forEach var="p" items="#{statusBean.statusList}">
    <h:form>
        <div class="status">
            // Content
        </div>
    </h:form>
</c:forEach>

2 个答案:

答案 0 :(得分:7)

使用c:forEach属性varStatus定义包含the status of the loop的变量。然后您可以在模板中使用它,如下所示:

<c:forEach var="p" items="#{statusBean.statusList}" varStatus="loop">
        <h:form>
            <div class="status_#{loop.count}">
            // Content
            </div>
        </h:form>
</c:forEach>

如果您希望以0开始,也可以使用#{loop.index}

答案 1 :(得分:0)

尝试使用<h:panelGroup>或其他JSF组件来渲染div。

这将导致为您生成唯一ID。