在使用freemarker的过程中经常会见到如下错误:
11 十二月 2015 15:53:09,674 ERROR freemarker.runtime:98 - Error executing FreeMarker template FreeMarker template error: The following has evaluated to null or missing: ==> sex [in template "freemarker3.html" at line 10, column 3] Tip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??
模板代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>freemarker demo</title> </head> <body> ${username} <br /> ${age}<br /> ${sex} </body> </html>
根本原因: sex没有设置值,所以报错
解决方法:
在未声明的变量后面增加叹号
${sex!}
也可以设置默认值,在叹号后面增加默认值
${sex!'abc'}
参考附件