2012-04-13 15 views
6

Estoy escribiendo una matriz JS de objetos en una plantilla Freemarker. Pero estoy teniendo problemas serios sin incluir una coma después del último artículo.Freemarker, índice de lista y condición de conteo

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

Así que durante la lista de repetición, mientras que el índice + 1 es menor que la longitud/tamaño de las páginas variables, se debe escribir una coma. Para que cuando sea igual al tamaño, omita la coma.

Entonces, ¿cómo se puede lograr esto?

+1

http://freemarker.sourceforge.net/docs/ ref_directive_list.html No es cómo lo haría, su ejemplo parece más limpio. –

+0

Sí, eso también ... no estaba al tanto de la función "_has_next". Estaba tratando de hacerlo en la vieja escuela. Es una pena que no hayas puesto eso como una respuesta, de haberlo aceptado. –

Respuesta

8

El índice debe ir precedido del nombre de su elemento. En el ejemplo:

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

debería haber sido:

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

intento con item_has_next

En su ejemplo:

<#if pages_has_next>,</#if> 
Cuestiones relacionadas