在 alfresco freemarkuer 模板中列出 javascript 数组
List javascript array in alfresco freemarkuer template
基本上我填充了以下 JavaScript 个数组:
array1 = new Array(1, 2, 3);
array2 = new Array("Title1", "Title2", "Title3");
array3 = new Array("10-02-2017", "11-02-2017", "12-02-2017");
bigArray = new Array();
bigArray.push(array1);
bigArray.push(array2);
bigArray.push(array3);
model.entry = bigArray;
现在在 ftl 文件中,我想从 ftl 文件中获取以下输出:
1, Title1, 10-02-2017
2, Title2, 11-02-2017
3, Title3, 12-02-2017
我如何"call"这样的用例?我什至不知道 google 有什么用,所以我可以阅读手册之类的东西。你能帮忙或推荐一些有用的教程吗?
您可以使用 JSON 对象而不是多个数组来映射您的对象,否则这里是 FTL 代码来获取您的输出。
<#list entry[0] as item0>
${item0},
<#list entry[1] as item1>
<#if item1?index == item0?index>
${item1},
</#if>
</#list>
<#list entry[2] as item2>
<#if item2?index == item0?index>
${item2}
</#if>
</#list>
<br />
</#list>
如果这样的索引不存在,考虑处理异常。
我想重点是你想遍历三个交错的数组。在那种情况下,我只会遍历公共索引:
<#list 0 ..< entry[0]?size as i>
${entry[0][i]}, ${entry[1][i]}, ${entry[2][i]}
</#list>
我只是通过将我的 bigArray 拆分为单个数组来解决它。
所以我不再:
bigArray = new Array();
bigArray.push(array1);
bigArray.push(array2);
bigArray.push(array3);
model.entry = bigArray;
现在我有:
model.ids = array1;
model.titles = array2;
model.dates = array3;
然后我这样输出它们:
IDs:
<#list ids as id>
${id}<#sep>,
</#list><br>
Titles:
<#list titles as title>
${title}<#sep>,
</#list><br>
Dates:
<#list dates as date>
${date}<#sep>,
</#list><br>
所以我的输出看起来有点不同:
IDs: 1,2,3
Titles: Title1, Title2, Title3
Dates: 10-02-2017, 11-02-2017, 12-02-2017
感谢您的帮助!
基本上我填充了以下 JavaScript 个数组:
array1 = new Array(1, 2, 3);
array2 = new Array("Title1", "Title2", "Title3");
array3 = new Array("10-02-2017", "11-02-2017", "12-02-2017");
bigArray = new Array();
bigArray.push(array1);
bigArray.push(array2);
bigArray.push(array3);
model.entry = bigArray;
现在在 ftl 文件中,我想从 ftl 文件中获取以下输出:
1, Title1, 10-02-2017
2, Title2, 11-02-2017
3, Title3, 12-02-2017
我如何"call"这样的用例?我什至不知道 google 有什么用,所以我可以阅读手册之类的东西。你能帮忙或推荐一些有用的教程吗?
您可以使用 JSON 对象而不是多个数组来映射您的对象,否则这里是 FTL 代码来获取您的输出。
<#list entry[0] as item0>
${item0},
<#list entry[1] as item1>
<#if item1?index == item0?index>
${item1},
</#if>
</#list>
<#list entry[2] as item2>
<#if item2?index == item0?index>
${item2}
</#if>
</#list>
<br />
</#list>
如果这样的索引不存在,考虑处理异常。
我想重点是你想遍历三个交错的数组。在那种情况下,我只会遍历公共索引:
<#list 0 ..< entry[0]?size as i>
${entry[0][i]}, ${entry[1][i]}, ${entry[2][i]}
</#list>
我只是通过将我的 bigArray 拆分为单个数组来解决它。
所以我不再:
bigArray = new Array();
bigArray.push(array1);
bigArray.push(array2);
bigArray.push(array3);
model.entry = bigArray;
现在我有:
model.ids = array1;
model.titles = array2;
model.dates = array3;
然后我这样输出它们:
IDs:
<#list ids as id>
${id}<#sep>,
</#list><br>
Titles:
<#list titles as title>
${title}<#sep>,
</#list><br>
Dates:
<#list dates as date>
${date}<#sep>,
</#list><br>
所以我的输出看起来有点不同:
IDs: 1,2,3
Titles: Title1, Title2, Title3
Dates: 10-02-2017, 11-02-2017, 12-02-2017
感谢您的帮助!