如何在 FreeMarker 中将列表转换为数组?
How can I convert a List to an Array in FreeMarker?
我有这个数组(SimpleSequence):
<#assign arrayList = [100, 200, 300, 400, 500] />
<#list arrayList as item>
<#assign addToArray = "<p>" + item + "</p>" />
</#list>
我想将 addToArray
添加到新数组中。
我怎样才能做到这一点?
根据您想要转换序列的每个项目以创建另一个序列的注释(列表或数组......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>"]>
。)
我有这个数组(SimpleSequence):
<#assign arrayList = [100, 200, 300, 400, 500] />
<#list arrayList as item>
<#assign addToArray = "<p>" + item + "</p>" />
</#list>
我想将 addToArray
添加到新数组中。
我怎样才能做到这一点?
根据您想要转换序列的每个项目以创建另一个序列的注释(列表或数组......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>"]>
。)