18

我在java代码中有一个字符串列表:

List<String> keywords = new ArrayList<String>();
keywords.add("Apple");
keywords.add("Banana");

我想使用 Freemarker 显示关键字:Apple、Banana

怎么做?

PS:我通读了手册,发现一些建议使用的文章<#list>,但输出是:Apple

香蕉

4

5 回答 5

17

如果您想要一个逗号分隔的列表,您可以使用以下内容:

<#list seq as x>
   ${x_index + 1}. ${x}<#if x_has_next>,</#if>
</#list>  

见: http: //freemarker.org/docs/ref_directive_list.html#pageTopTitle

于 2012-02-23T10:56:17.243 回答
15

从 Freemarker 的 2.3.20 版本开始,有一个用于逗号分隔列表的内置命令

例如,模板:

<#assign colors = ["red", "green", "blue"]>

${colors?join(", ")}

.. 将生成:

红、绿、蓝

于 2013-10-01T07:52:15.077 回答
7

从 2.3.23 版本开始,您还可以使用以下代码:

<#list users as user>
  <div>
    ${user}<#sep>, </#sep>
  </div>
</#list>

取自sep 指令

于 2016-02-18T06:04:22.143 回答
6

FreeMarker 会保留您的空间(和 EOL),但不会自行添加任何空间。因此,只需将所有内容放在同一行:

<#list myListName as item>${item}</#list>
于 2009-04-17T15:41:45.097 回答
1

Freemarker 提供了一些空白控制功能,参见http://freemarker.sourceforge.net/docs/dgui_misc_whitespace.html

于 2009-04-17T15:48:01.727 回答