当前位置: 首页 > 知识库问答 >
问题:

Freemarker无法访问对象字段

龙飞
2023-03-14

我正在努力解决一个奇怪的问题。

<#list fieldMap?keys as key> 
    ${fieldMap[key]}

    ${fieldMap[key].name}

</#list> 

控制台是

    GeneratorField{name=expenseType, fieldType=String}

    FreeMarker template error:
The following has evaluated to null or missing:
==> fieldMap[key].name  [in template "ftl/form.ftl" at line 6, column 7]

如您所见,第一行输出了GeneratorField对象的名称,但是为什么第二个命令失败了?

我正在使用Freemarker 2.3.20

谢啦

共有1个答案

狄冥夜
2023-03-14

如果field dMap是JAVA中的一个类,那么该JAVA类中会有getters来公开访问的字段名,也就是说,您可以在该类中创建一个名为getName()的公共函数,然后在ftl文件中访问相同的函数。

希望能有帮助。

 类似资料:
  • 我试图找到一种很好的方法来迭代并打印出ArrayList中的对象。 问题是我似乎无法到达用户键入对象信息(例如颜色和品牌)的字段。 对象的新实例如下所示: 汽车(以及自行车、公共汽车等其他类别)是汽车的子类。 车辆等级: } 汽车等级: }尝试迭代对象时: 当迭代对象时,我希望达到I.color中的颜色和品牌字符串。但是我猜想,由于我是一个新的对象,它可能无法访问与汽车、公共汽车等相关的字段和方法

  • 因此,我正在构建一种基于对象的模型方法,并试图将所有现有的jQuery转换为纯JavaScript调用,但我遇到了一些问题。 所以我有一个基本的基础: 由于某些原因,当使用jQuery调用时,它都运行得很好,但是当使用Document.QuerySelector调用JS替代项时,我会得到一个错误,如下所示: 谁能给我解释一下.find()调用和传统JS的主要区别是什么?

  • 我不确定我是不是漏了一步。 我有一个s3 bucket,我需要能够从一个AWS SDK PHP脚本访问我写的运行在我的EC2上。我创建了一个IAM角色以允许访问。 IAM Allow_S3_Access_to_EC2 我的Bucket策略中没有任何关于我的EC2甚至我附加的IAM角色的内容。我也需要在我的桶策略中添加一些东西吗?这就是我困惑的地方。 我所经历的是,当一个新的对象被创建,我试图从我的

  • 我使用最新的freemarker版本2.3.23我有列表,其中包含用户对象,用户对象很简单,只包含名称属性。我的ftl文件如下所示: 我的Java代码如下所示: 错误显示如下:

  • 第一次在JAVA项目上使用FreeMarker,在配置汉字时使用堆栈。 看到了一些对FreeMarker.Properties进行更改的示例请求,但我没有这个文件。我只是导入。jar文件并使用它。 请告诉我该怎么做才能让它显示汉字。