如何在FTL中使用循环并重复打印指定HTML内容n次
在FreeMarker(FTL)中实现循环打印指定HTML内容n次
FreeMarker(FTL)作为模板语言,没有像Java那样的for循环语法,而是通过<#list>指令结合序列来实现循环逻辑。以下是对应需求的两种实现方式:
方式一:仅按次数循环(无需索引)
如果只需要重复打印HTML内容n次,不需要用到循环索引,可直接遍历指定长度的整数序列:
<#-- 定义循环次数n,对应示例中的4次循环(i从0到3) --> <#assign repeatTimes = 4> <#list 1..repeatTimes as _> <!-- 此处替换为你需要重复的HTML内容 --> <div class="repeat-content"> 这是要重复打印的HTML内容 </div> </#list>
说明:1..repeatTimes会生成从1到repeatTimes的整数序列,as _用下划线作为占位循环变量(因不需要使用变量值),序列有多少个元素,内部HTML就会被渲染多少次。
方式二:带循环索引的循环
如果需要用到类似Java示例中的循环索引i,可以生成从0开始的序列:
<#assign repeatTimes = 4> <#list 0..repeatTimes-1 as i> <!-- 可通过${i}获取当前循环索引,HTML内容按需调整 --> <div class="repeat-content"> 第${i+1}次循环:这是要重复打印的HTML内容 </div> </#list>
说明:0..repeatTimes-1生成的序列对应Java示例中i从0到3的范围,${i}可直接输出当前索引值,满足需要根据索引做逻辑处理的场景。
内容的提问来源于stack exchange,提问作者Sumit Negi
相关产品推荐
相关产品推荐

