Ответ 1
FreeMarker сохраняет ваши пробелы (и EOL), но не добавляет их самостоятельно. Итак, просто поместите все в одну строку:
<#list myListName as item>${item}</#list>
У меня есть список строк в java-коде:
List<String> keywords = new ArrayList<String>();
keywords.add("Apple");
keywords.add("Banana");
и я хотел бы показывать ключевые слова с помощью Freemarker: Apple, Banana
Как это сделать?
PS:
Я прочитал руководство и нашел некоторые статьи, предлагающие использовать <#list>
, но вывод:
Apple,
Бананы
FreeMarker сохраняет ваши пробелы (и EOL), но не добавляет их самостоятельно. Итак, просто поместите все в одну строку:
<#list myListName as item>${item}</#list>
Если вы хотите список, разделенный запятыми, вы можете использовать следующее:
<#list seq as x>
${x_index + 1}. ${x}<#if x_has_next>,</#if>
</#list>
см.: http://freemarker.org/docs/ref_directive_list.html#pageTopTitle
С версии 2.3.20 Freemarker существует встроенная команда для разделенных запятыми списков.
Например, шаблон:
< #assign colors = [ "red", "green", "blue" ] >
${colors? join ( "," )}
.. будет генерировать:
красный, зеленый, синий
Начиная с версии 2.3.23, вы также можете использовать следующий код:
<#list users as user>
<div>
${user}<#sep>, </#sep>
</div>
</#list>
Взято из директива sep.
Freemarker предоставляет некоторые функции для управления пробелами, см. http://freemarker.sourceforge.net/docs/dgui_misc_whitespace.html