我在eclipse中使用freemarker 2.3.23来生成报告。 以下是数据模型的代码:
ArrayList<Cell> namelist=new ArrayList<Cell>();
Cell cell1=new Cell();
cell1.data.add("element1");
namelist.add(cell1);
Cell cell2=new Cell();
cell2.data.add("element2");
namelist.add(cell2);
data.put("namelist", namelist);
Cell类的代码:
public class Cell {
public ArrayList<String> data;
public Cell(){
data=new ArrayList<String>();
}
}
模板代码:
<#list namelist as name>
<#list name.data as element>
${element}
</#list>
</#list>
但得到错误堆栈如下:
FreeMarker模板错误:以下内容已评估为null或 失踪: ==&GT; name.data [在模板“report.ftl”第33行,第16栏]
----提示:这是导致此错误的最后一个点之后的步骤,而不是之前的那个。 ----提示:如果已知失败的表达式合法地引用有时为null或缺失的内容,则指定默认值 像myOptionalVar!myDefault这样的值,或者使用&lt; #if myOptionalVar ??&gt;在至今&LT;#其他&gt;在缺失。 (仅限这些 涵盖表达的最后一步;覆盖整个表达,
使用括号:(myOptionalVar.foo)!myDefault,(myOptionalVar.foo)??
---- FTL堆栈跟踪(“〜”表示与嵌套相关):
- 失败于:#list name.data as element [in template“report.ftl”at line 33,column 9]