我正在尝试生成Freemarker模板,但得到:

freemarker.template.TemplateException: Expected hash. ul evaluated instead to
    freemarker.template.SimpleSequence on line 105, column 40
    in Freemarker/MUC/UnitIndex.ftl.


我的课:

public class UnitLists extends TreeSet<UnitList>
...


添加到参数如下:

params.put("unitLists", this.unitLists);
...


在模板中使用:

<#list unitLists as ul>
    <a href="${ul.linkFromRoot}" class="mya2">${ul.tag}</a>
</#list>


我究竟做错了什么?

最佳答案

您正在访问ul的属性。因此,Freemarker期望ul包含一个对象,但是却得到一个Collection(哈希是Freemarker语音,用于将键映射到值的东西,例如JavaBean)。

关于java - freemarker.template.TemplateException:预期的哈希,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16597376/

10-11 20:10