代码之家  ›  专栏  ›  技术社区  ›  Mustapha Aoussar

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

  •  1
  • Mustapha Aoussar  · 技术社区  · 8 年前

    我有这个数组( 简单序列 ):

    <#assign arrayList = [100, 200, 300, 400, 500] />
    
    <#list arrayList as item>
        <#assign addToArray = "<p>" + item + "</p>" />
    </#list>
    

    我想加上 addToArray 到新数组。

    我如何才能做到这一点?

    1 回复  |  直到 8 年前
        1
  •  3
  •   ddekany    8 年前

    map 在FTL中的函数(从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>"]> 相反。)