spring - 在 freemarker 列表中设置开始索引
问题描述
如何在 freemarker 列表中设置开始索引?
像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>
我想从第二个索引开始。
解决方案
您可以使用内置的序列
应用内置序列允许所有序列操作,例如 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>
推荐阅读
- mysql - 更新查询未充分利用 MySQL 8 中的索引
- loops - 由于“Next without For”而无法编译
- python - Pycharm Can't install TensorFlow
- polymer-3.x - 用于聚合物 3 的轮播网络组件
- vb.net - Item.ToString 返回文本 listviewitem: {value} 而不仅仅是文本
- php - Symfony Twig 模板表单重定向损坏
- javascript - 未触发 Vue 指令的 Hook=componentUpdated
- apache - 具有相同 vhost documentroot 的多个 xampp
- cakephp - CakePHP 3.5 写和读 Cookie
- php - 将 json_encode 中的 null 转换为空字符串?