freemarker处理不存在的变量或属性

最近在使用freemarker 导出 word,由于以前没使用过freemarker 对其不了,以至于出现很多问题,比较典型的一个就是freemarker不能容忍引用不存在的变量,如${property},如果property 不存在时就会报错。以下是我在网上查阅到的一些解决方法:

1、??判断是否不为空,比如:<#if property??></#if>

2、在变量名后加上!“默认值” 用来防止变量名不存在或者变量名值为null的情况下,不会报错并给它一个默认值,比如:hello,{world!"java"}!,如果world这个变量不存在,则最后打印出来的信息是hello,你java!

3、多级访问变量!“默认值” 写法:(最好把所有变量用括号包起来,然后外面加上!“默认值”)

09154600_xMY7.jpg

转载于:https://my.oschina.net/u/574036/blog/795836