2012-04-13 11 views
6

Sto scrivendo una matrice JS di oggetti in un modello di Freemarker. Ma sto avendo problemi seri che non includono una virgola dopo l'ultimo elemento.Freemarker, indice elenco e condizione di conteggio

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

Così durante la ripetizione lista, mentre l'indice + 1 è inferiore alla lunghezza/dimensione delle pagine variabile, si dovrebbe scrivere una virgola. In modo che quando è uguale alla dimensione, dovrebbe omettere la virgola.

Quindi, come può essere raggiunto?

+1

http://freemarker.sourceforge.net/docs/ ref_directive_list.html Non come lo farei, il loro esempio sembra più pulito. –

+0

Sì anche questo ... non era a conoscenza della funzione "_has_next". Stavo cercando di farlo vecchia scuola. Peccato che tu non l'abbia detto come risposta, lo avrebbe accettato. –

risposta

8

L'indice deve essere preceduto dal nome dell'articolo. Nell'esempio:

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

avrebbe dovuto essere:

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

Prova con item_has_next

Nel tuo esempio:

<#if pages_has_next>,</#if>