如何在freemarker列表中设置开始索引

问题描述 投票:0回答:1

如何在自由标记列表中设置开始索引

像jstl

<c:forEach var="item" items="${screenshot.results}" begin="2">
    <a href="${item.image}"
       class="fresco"
       data-fresco-group="game-detail-pic">
    </a>
</c:forEach>

我想从第二个索引开始。

spring spring-boot jsp templates freemarker
1个回答
0
投票

您可以使用内置的sequence

应用内置的序列允许所有序列操作,例如seq [index],seq [range]或seq?size。如果将这些操作直接应用于从集合转换而来的序列,则FreeMarker会优化出实际在内存中创建序列的条件。因此,无论所过滤的hugeTable的大小如何,这些都不会消耗太多内存:

hugeTable?filter(predicate)?sequence [index]:FreeMarker只会获取和删除元素,直到它到达所需位置的元素。

hugeTable?filter(predicate)?sequence [0..9]:FreeMarker只会收集前10个元素。

示例:

<#assign a=[1,2,3,5,6]>
<#list a?filter(x ->  x > 0)?sequence[1..4] as x>${x} </#list>
© www.soinside.com 2019 - 2024. All rights reserved.