2012-04-13 22 views
6

私はFreemarkerテンプレートにオブジェクトのJS配列を書いています。しかし、私は最後の項目の後にカンマを含めないという深刻な問題を抱えています。Freemarker、リストインデックスとカウント条件

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

インデックス+ 1は、可変ページの長さ/サイズより小さいながらだから、リストの繰り返しの間に、それはカンマを記述する必要があります。そのサイズと同じ場合は、コンマを省略する必要があります。

これはどのように達成できますか?

+1

http://freemarker.sourceforge.net/docs/ ref_directive_list.htmlどのように私はそれを行うだろう、彼らの例はきれいだ。 –

+0

はい、あまりにも... "_has_next"機能を知らなかった。古い学校にしようとしていた。あなたが答えとしてそれを置かなかったのは恥ずかしく、それを受け入れるだろう。 –

答えて

8

インデックスには、項目名の接頭辞を付ける必要があります。例では:

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

はされている必要があります。

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

はあなたの例ではitem_has_next

で試してみてください:

<#if pages_has_next>,</#if>