Is there a built in feature in JSTL to output separators while doing foreach?
The task is to output separators (like commas) after each iteration except the last one (or before each except the first). Is there any ELSE tag for foreach?
Use the varStatus
attribute, which references an object of type LoopTagStatus
:
<c:forEach var="foo" items="${foos}" varStatus="loopStatus">
<c:out value="${foo}"/>
<c:if test="${!loopStatus.last}"> | </c:if>
</c:forEach>
<c:forEach items="${myList}" var="item" varStatus="status">
${item}<c:if test="${not status.last}">,</c:if>
</c:forEach>
You may use `varStatus' attribute in EL,
<c:forEach var="foo" items="${foos}" varStatus="loopStatus">${foo}${!loopStatus.last?',':''}</c:forEach>`
来源:https://stackoverflow.com/questions/8882528/jstl-foreach-separator