freemarker 表达式判空

591 阅读1分钟

以下例子参考freemarker官方文档 ,在freemarker中,默认的如果表达式是空会报错。所以需要对表达式进行判空操作。

  • 判断属性为空
    • #{myobj.myProp!} 如果myProp为空,则不报错;
  • 返回默认值
    • #{myobj.myProp!"默认值"} 如果myProp为空,则不报错,同时返回“默认值”。这种只能在myProp为空时不报错,但myobj为空还会报错,继续看下边。
  • 对象和属性都判空
    • #{(myobj.myProp)!"默认值"} 如果myobj为空或者myProp为空,都不报错,并返回“默认值”