jstl foreach省略了最后一条记录中的元素

nok*_*eat 63 jsp jstl

试图使用这个jstl来制定一个json字符串,我怎么能让段不在最后一条记录的末尾加一个逗号?请注意最后的逗号

<c:forEach items="${fileList}" var="current">
    { id:1001,data:["<c:out value="${current.fileName}" />" , "<c:out value="${current.path}" />" , "<c:out value="${current.size}" />" , "<c:out value="${current.type}" />"] },
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 160

只是用LoopTagStatus#isLast().

<c:forEach items="${fileList}" var="current" varStatus="loop">
    { id: 1001,
      data: [
        "<c:out value="${current.fileName}" />",
        "<c:out value="${current.path}" />",
        "<c:out value="${current.size}" />",
        "<c:out value="${current.type}" />"
      ]
    }<c:if test="${!loop.last}">,</c:if>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

您也可以在EL中使用条件运算符,而不是<c:if>:

    ${!loop.last ? ',' : ''}
Run Code Online (Sandbox Code Playgroud)