Freemarker将列表长度分配给局部变量

时间:2010-10-05 13:22:13

标签: exception variable-assignment 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

1 个答案:

答案 0 :(得分:37)

我发现,它不理解size built-in的语法。 将列表大小分配给局部变量的正确语法是

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