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]