Freemarker присваивает длину списка локальной переменной

Следующий код 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?


person cuh    schedule 05.10.2010    source источник


Ответы (1)


Я понял, что он не понимает синтаксиса для size встроенного. . Правильный синтаксис для присвоения размера списка локальной переменной:

<#assign i = it.getList()?size>
person cuh    schedule 05.10.2010