我在java代码中有一个字符串列表:
List<String> keywords = new ArrayList<String>();
keywords.add("Apple");
keywords.add("Banana");
我希望使用Freemarker显示关键字: Apple,Banana
怎么做?
PS:
我仔细阅读了手册并发现了一些建议使用<#list>
的文章,但输出结果如下:
苹果
香蕉
答案 0 :(得分:14)
如果您想要以逗号分隔的列表,可以使用以下内容:
<#list seq as x>
${x_index + 1}. ${x}<#if x_has_next>,</#if>
</#list>
请参阅:http://freemarker.org/docs/ref_directive_list.html#pageTopTitle
答案 1 :(得分:13)
自Freemarker版本2.3.20以来,有a built-in command for comma-separated lists。
例如,模板:
&lt; #assign colors = [“red”,“green”,“blue”]&gt;
$ {colors?join(“,”)}
..将生成:
红色,绿色,蓝色
答案 2 :(得分:6)
FreeMarker会保留您的空间(和EOL),但不会自行添加任何空格。所以,只需将所有内容放在同一行:
<#list myListName as item>${item}</#list>
答案 3 :(得分:2)
从版本2.3.23开始,您还可以使用以下代码:
<#list users as user>
<div>
${user}<#sep>, </#sep>
</div>
</#list>
答案 4 :(得分:1)
Freemarker为空白控制提供了一些功能,请参阅http://freemarker.sourceforge.net/docs/dgui_misc_whitespace.html