JSTL для каждого сепаратора - PullRequest
6 голосов
/ 16 января 2012

Есть ли в JSTL встроенная функция для вывода разделителей при выполнении foreach?

Задача состоит в том, чтобы выводить разделители (например, запятые) после каждой итерации, кроме последней (или перед каждой, кроме первой).Есть ли тег ELSE для foreach?

Ответы [ 3 ]

16 голосов
/ 16 января 2012

Используйте атрибут varStatus, который ссылается на объект типа LoopTagStatus:

<c:forEach var="foo" items="${foos}" varStatus="loopStatus">
    <c:out value="${foo}"/>
    <c:if test="${!loopStatus.last}"> | </c:if>
</c:forEach>
5 голосов
/ 16 января 2012
<c:forEach items="${myList}" var="item" varStatus="status">
    ${item}<c:if test="${not status.last}">,</c:if>
</c:forEach>
3 голосов
/ 17 января 2012

Вы можете использовать атрибут varStatus в EL,

<c:forEach var="foo" items="${foos}" varStatus="loopStatus">${foo}${!loopStatus.last?',':''}</c:forEach>` 
...