15

我试图让一个 JSTL<c:forEach>标记工作,以便它打印一个名称列表,如下所示:

Best, Milo, Kane

我的代码如下:

<c:forEach items="${persons}" var="person">
    ${person.name}, 
</c:forEach>

但是,在最后一个人/姓名的末尾插入一个逗号,例如

Best, Milo, Kane,

如何避免循环中的最后一个逗号?

4

1 回答 1

40

你可以使用LoopTagStatus#isLast

<c:forEach items="${persons}" var="person" varStatus="loop">
    ${person.name}
   <c:if test="${!loop.last}">,</c:if>
</c:forEach>

一个更简单的解决方案是在内部使用条件运算符EL而不是if标签

${!loop.last ? ',' : ''}
于 2013-09-13T10:53:36.860 回答