Arrays Freemarker动态地将元素添加到数组中
我试图在一列中列出我所有的标记名。在列出它们时,我将每个标记的名称存储到数组Arrays Freemarker动态地将元素添加到数组中,arrays,freemarker,Arrays,Freemarker,我试图在一列中列出我所有的标记名。在列出它们时,我将每个标记的名称存储到数组tagarray。在列表下面,我想在中输出整个数组 <div> <#assign tagarray = []> <#list elements as element> <#if element.tags??> <#list eleme
tagarray
。在列表下面,我想在
中输出整个数组
<div>
<#assign tagarray = []>
<#list elements as element>
<#if element.tags??>
<#list element.tags as tag>
<#if tag.myProperty??>
<span class="section-name">${tag.text}</span>
<br />
<#assign tagarray = tagarray + ["${tag.text}"]>
</#if>
</#list>
</#if>
</#list>
<p>${tagarray}</p>
</div>
${tag.text}
${tagarray}
问题是,这一行代码:
<#assign tagarray = tagarray + ["${tag.text}"]>
似乎不起作用。根据一些网站的说法,上面的语法是正确的,所以我不知道它为什么不起作用。作业行在语法上看起来是正确的(虽然你不需要
$
,但你可以只写..+[tag.text]
,也可以用+=
,比如
,让它不那么冗长)<代码>${tagarray}将失败,因为不清楚如何格式化序列。也许你想要${tagarray?在那里加入(',')}
还要注意的是,如果多次添加序列,列出结果会很慢。在您的用例中,这可能不是一个问题。这里有代码,但是在执行步骤2之前,您不能修改行到数组的值有多少个值在步骤2中只有一个值在我们的示例中只有一个,但在步骤4中它将添加3个值,然后现在数组值在前面,所以步骤5执行4次。步骤2只执行一次
1. <#assign array=[0]>
2. <#list array as a>
3. ${a}
4. <#assign array = array + [1]><#assign array = array + [1]><#assign array = array + [1]>
5. <#list array as c>
6. ${c}
7. </#list>
8. </#list>
1。
2.
3. ${a}
4.
5.
6. ${c}
7.
8.