我想为包含在<c:forEach>
中的<div>
分配一个唯一的id。无论何时呈现页面,<c:forEach>
生成的所有<div>
都具有相同的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>
使用c:forEach
属性varStatus
来定义一个包含循环状态的变量。然后你可以在你的模板中使用它,如下所示:
<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}
,也可以使用它。
尝试使用<h:panelGroup>
或其他JSF组件来呈现div。
- http://docs.oracle.com/javaee/5/javaserverfaces/1.2/docs/tlddocs/
这将导致为您生成唯一的ID。