在 freemarker 中重复一个字符串 n 次

Repeat a string n times in freemarker

我正在寻找一种简洁的方法来重复字符串 n 次,其中 n 是一个变量。我在 docs.

中找不到这样做的好方法

您可以简单地使用 list to iterate a range:

<#assign n = 5>
<#list 0..<n as i>hello</#list>

或作为宏:

<#macro repeat input times>
<#list 0..<times as i>${input}</#list>
</#macro>

<@repeat input="hello" times=5/>

如果您只需要将单个字符 c 重复 n 次,则可以 ${''?left_pad(n, c)}。虽然它有点批评,所以也许你想把它放到一个 #function 中,并使用适当的名称。