一尘不染

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

jsp

尝试使用此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>

阅读 257

收藏
2020-06-08

共1个答案

一尘不染

只需使用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>

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

    ${!loop.last ? ',' : ''}
2020-06-08