在执行foreach时,JSTL中是否有内置功能来输出分隔符?
任务是在每次迭代后输出分隔符(如逗号),除了最后一个(或除了第一个之外的每个迭代之前)。 foreach有没有ELSE标签?
答案 0 :(得分:16)
使用varStatus
属性,该属性引用LoopTagStatus
类型的对象:
<c:forEach var="foo" items="${foos}" varStatus="loopStatus">
<c:out value="${foo}"/>
<c:if test="${!loopStatus.last}"> | </c:if>
</c:forEach>
答案 1 :(得分:5)
<c:forEach items="${myList}" var="item" varStatus="status">
${item}<c:if test="${not status.last}">,</c:if>
</c:forEach>
答案 2 :(得分:3)
您可以在EL中使用`varStatus'属性,
<c:forEach var="foo" items="${foos}" varStatus="loopStatus">${foo}${!loopStatus.last?',':''}</c:forEach>`