今天使用FreeMarker生成数据时一直报错,错误信息是“The following has evaluated to null or missing:”,告知我找不到值。
但是我再三确认,这些属性的值都是正常的,也就是说某些原因造成FreeMarker无法读取到这些值。困扰了我将近两个小时后,经过各种尝试后,终于被我发现了原因:
FreeMarker读取数据的时候不支持属性名首字母大写(但是支持变量名全大写的属性)!将变量名全部改为小写后,数据就正常生成了。
因为我也只是个初学者(事实上我昨天才知道FreeMarker),不太清楚底层的原理,不过我想可能是FreeMarker在获取属性值的时候使用的是(例)“name”而不是“Name”,这才导致无法获取到值。