如何在FreeMarker中将List转换为数组?

时间:2016-10-10 15:53:23

标签: freemarker

我有这个数组( SimpleSequence ):

<#assign arrayList = [100, 200, 300, 400, 500] />

<#list arrayList as item>
    <#assign addToArray = "<p>" + item + "</p>" />
</#list>

我想将addToArray添加到新数组中。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:2)

根据评论,您要转换序列的每个项目以创建另一个序列(列表或数组...... FreeMarker不关心)。不幸的是,FTL中没有map函数(从2.3.25开始),但是只要序列不是很长(因为这会变慢),你可以使用序列连接来解决这个问题:

<#assign array = [100, 200, 300, 400, 500] />

<#assign mappedArray = []>
<#list array as item>
    <#assign mappedArray += ["<p>${item}</p>"]>
</#list>

(如果Liferay使用的版本过旧,您可能需要编写<#assign mappedArray = mappedArray + ["<p>${item}</p>"]>。)