【问题标题】:How to skip first element of List in c:forEach如何在 c:forEach 中跳过 List 的第一个元素
【发布时间】:2015-10-25 07:38:02
【问题描述】:

我正在使用<c:forEach> 来迭代List,如下所示:

<c:forEach items="${list}" var="item">
    ${item}
</c:forEach>

如何跳过打印列表的第一项?

【问题讨论】:

  • @BalusC:这是 List 。我在将鼠标悬停在按钮上时填充了几个值 - element.first/second/third/fourth.get(0) 。希望现在很清楚
  • @BalusC:我添加了更多描述。我需要一些帮助来访问 List 中 List 的值
  • @BalusC:我已经解决了这个问题,现在只需要一点帮助。我已经改变了我的问题。请看一下
  • 您最好将第一、第二、第三和第四放在一个数组或列表中作为开始。

标签: list foreach jstl skip


【解决方案1】:

在您的forEachif 测试中使用varStatus

<c:forEach items="${list}" var="item" varStatus="state">
    <c:if test="${not state.first}">
       ${item}
    </c:if>
</c:forEach>

其他useful varStatus properties 是:

  • current本轮迭代的项目(来自集合)
  • index本轮迭代的从零开始的索引
  • count本轮迭代从一开始计数
  • first标志本轮是否是第一次通过迭代
  • last 指示当前轮次是否为最后一次迭代的标志
  • beginbegin属性的值
  • endend属性的值
  • stepstep属性的值

【讨论】:

    【解决方案2】:

    您可以使用varStatus 属性来获取iteration status,它又具有一个isFirst() 方法,您可以在&lt;c:if&gt; 块中签入该方法。

    <c:forEach items="${list}" var="item" varStatus="loop">
        <c:if test="${not loop.first}">
            ${item}
        </c:if>
    </c:forEach>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-08
      • 2017-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      相关资源
      最近更新 更多