2016-10-10 38 views
0

私はこのArray(SimpleSequence)を持っている:FreeMarkerでリストを配列に変換するにはどうすればよいですか?

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

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

は、私は新しい配列にaddToArrayを追加したいです。

どうすればこの問題を解決できますか?

+1

正確に達成したい出力や結果はありますか? – ddekany

+0

Liferayでポートレットの設定を行い、 'portletSetup.setValues(" key "、array)'という配列が必要なメソッドがあります。私は配列を持っていますが、setValuesに渡す前にHTMLタグに各項目をラップして、パラメータを渡したいと思います。 –

答えて

1

コメントによると、シーケンスの各項目を変換して別のシーケンス(リストまたは配列... FreeMarkerは気にしません)を作成したいというコメントによると、残念ながら、(2.3.25のような)FTLにはmap機能はありませんが、(これが遅くなるように)限りシーケンスが非常に長くはないとして、あなたはシーケンスの連結とその回避することができます(

<#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>"]>と書く必要があります。

+0

ありがとうございました! –

関連する問題