web-dev-qa-db-ja.com

Freemarkerはローカル変数にリストの長さを割り当てます

次のフリーマーカーコードは例外を発生させます

<#assign i= it.getList().size()>
<#list it.getList() as elem>
    <#if i==1>
    <li>${elem.name}</li>
    <#else>
    <li class="marked">${elem.name}</li>
    </#if>
    <#assign i = i-1>
</#list>

次の例外がスローされます。

期待されるハッシュ。 it.getList()は代わりにfreemarker.template.SimpleSequenceに評価されます

誰もが理由を知っていますか?リストの長さを変数iに割り当てるにはどうすればよいですか?

21
cuh

sizebuilt-in の構文を理解していないことがわかりました。リストのサイズをローカル変数に割り当てるための正しい構文は次のとおりです。

<#assign i = it.getList()?size>
38
cuh