6

我正在 Freemarker 模板中编写一个 JS 对象数组。但我有严重的问题,不包括最后一项后的逗号。

<#assign pages = module.pages.page>
wh.pages = [
<#list pages as page>
{"name" : "${page.@name}", "href" : "${page.@href}"}
<#if (index+1) < pages?size>,</#if>
</#list>
]

所以在列表重复期间,当 index + 1 小于 pages 变量的长度/大小时,它应该写一个逗号。所以当它等于大小时,它应该省略逗号。

那么如何实现呢?

4

4 回答 4

12

尝试item_has_next

在您的示例中:

<#if pages_has_next>,</#if> 
于 2014-07-19T23:02:11.697 回答
9

索引必须以您的项目名称为前缀。例如:

<#if (index+1) < pages?size>,</#if>

本来应该:

<#if (page_index+1) < pages?size>,</#if>
于 2012-04-13T11:29:45.223 回答
1

这可能是一个简单的答案

<#sep>,</#sep>
于 2020-04-08T14:28:04.103 回答
0

我有一个项目列表,我将使用它创建一个带有多个参数的函数,并带有逗号。我的代码如下:

def ${function.name}(<#list function.params as param> ${param.name}:${param.paramType}<#if function.params?size != (param?index+1)>,</#if> </#list>)

它将生成以下输出:

   def func1( input1:String,  input2:String )
于 2018-09-06T10:49:33.770 回答