Java Freemarker can';t访问对象字段

Java Freemarker can';t访问对象字段,java,freemarker,Java,Freemarker,我正在努力解决一个奇怪的问题 <#list fieldMap?keys as key> ${fieldMap[key]} ${fieldMap[key].name} </#list> 如您所见,第一行输出GeneratorField对象的名称,但为什么第二个命令失败 我正在使用Freemarker 2.3.20 谢谢如果fieldMap是JAVA中的一个类,那么该JAVA类中将有getter来公开字段名称,以便访问,也就是说,您可以在该类中创建一

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

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

    ${fieldMap[key].name}

</#list> 
如您所见,第一行输出GeneratorField对象的名称,但为什么第二个命令失败

我正在使用Freemarker 2.3.20


谢谢

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


希望对您有所帮助。

所打印的内容正是
GeneratorField
对象的
toString()
返回的内容。所以你可以看到,
name=
这并不意味着什么。所以问题是,如何在Java中获得
name
?如果使用
String getName()
,那么该方法是公共的吗?我找到了原因,GeneratorField被定义为私有的内部类,甚至getter方法也是公共的。我只是把它转移到普通班,然后它就开始工作了。很好。。。。。然后写下这个作为答案。。。所以其他人可以知道这个问题已经解决了。
    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]