1
我正在努力解決Freemarker奇怪的問題。Freemarker無法訪問對象字段
<#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
感謝
'$ {fieldMap [key]}'打印的是'GeneratorField'對象的'toString()'返回的內容。所以你看到'name ='沒有多少意義。所以問題是,你如何獲得Java中的'name'?如果用'String getName()'那麼是否該方法是public? – ddekany 2014-09-07 20:49:37
我找到了原因,將GeneratorField定義爲私有內部類,即使getter方法是公共的。我只是把它移動到普通班上,然後它就可以工作。 – user595234 2014-09-08 00:48:13
不錯.....然後寫這個答案...所以其他人可以知道這個問題已經解決了。 – 2014-09-08 07:29:47