Freemarker, индекс списка и условие подсчета
Я пишу массив объектов JS в шаблоне Freemarker. Но у меня серьезные проблемы, не включая запятую после последнего пункта.
<#assign pages = module.pages.page>
wh.pages = [
<#list pages as page>
{"name" : "${page.@name}", "href" : "${page.@href}"}
<#if (index+1) < pages?size>,</#if>
</#list>
]
поэтому во время повторения списка, хотя индекс + 1 меньше длины/размера переменной pages, он должен написать запятую. Так что, когда он равен размеру, он должен опустить запятую.
Так как этого можно достичь?
3 ответов
индекс должен иметь префикс с вашим именем элемента. В Примере:
<#if (index+1) < pages?size>,</#if>
должно быть:
<#if (page_index+1) < pages?size>,</#if>
у меня есть список элементов и с помощью этого я собираюсь создать функцию с несколькими параметрами с запятой. Мой код выглядит следующим образом:
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 )