我正在寻找一个Freemarker模板,可以以表格格式将List输出到控制台。
<#list ["foo", "bar", "baz", "huhu", "lala", "keke", "koko", "fifi", "bubu"] as x>
${x}
</#list>
我正在寻找控制台输出,如:
foo bar baz
huhu lala keke
koko fifi bubu
我认为${x?item_cycle('col1', 'col2', 'col3')}
可能是要走的路,只为col3
项添加换行符。但是如果在item_cycle上有其他逻辑怎么办?
答案 0 :(得分:2)
添加换行符的最佳方式可能是?chunk(n)
。此外,例如,可以使用?right_pad(n)
确保列宽(您还没有询问过)。所以例子是:
<#list ["foo", "bar", "baz", "huhu", "lala", "keke", "koko", "fifi", "bubu"]?chunk(3) as row>
<#list row as x>${x?right_pad(10)}</#list>
</#list>
顺便说一下,正如你所问,当然你可以写<#if x?item_cycle(...) == ...>
,甚至${x}${x?item_cycle('', '', '\n')}
或<#if x?item_count % 3 == 0>
之类的东西,但这些都是更加丑陋的解决方案。