java - freemarker.template.TemplateException : Expected hash 错误

标签 java freemarker

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

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

我的类(class):

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(hash 是 Freemarker 语音,用于将键映射到值的东西,例如 JavaBean)。

关于java - freemarker.template.TemplateException : Expected hash 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16597376/

相关文章:

java - 内联图像与临时文件(Java XHTML->PDF 生成)

java - 创建标题页 Activity

java - VPS 上的 spring boot 应用程序没有响应

Java 8 catch 22 与 lambda 表达式和有效的 final

java - 将两个带有整数的文本文件合并为一个文本文件

java - 在 java 中加载 freemarker 模板时出现 FileNotFoundException

freemarker - Keycloak在注册屏幕上删除名字和姓氏字段

java - 如何将ArrayList存储在文件中?

java - Spring 绑定(bind)形式多选

java - 我可以从ftl中的函数调用宏吗