以下例子参考freemarker官方文档 ,在freemarker中,默认的如果表达式是空会报错。所以需要对表达式进行判空操作。
修复值为空报错
- 判断属性为空
${myobj.myProp!}如果myProp为空,则不报错;
- 返回默认值
${myobj.myProp!"默认值"}如果myProp为空,则不报错,同时返回“默认值”。这种只能在myProp为空时不报错,但myobj为空还会报错,继续看下边。
- 对象和属性都判空
${(myobj.myProp)!"默认值"}如果myobj为空或者myProp为空,都不报错,并返回“默认值”
遍历List判空
<#if myList??>
<#list myList as ele>
</#list>
</#if>
更进一步只有list不是empty时才显示;
<#if myList?? && myList?size gt 0>
<#list myList as ele>
</#list>
</#if>
本文介绍了Freemarker模板引擎中处理空值的方法,包括如何避免空值导致的错误、设置默认值及对对象和属性进行判空。还详细解释了在遍历List时如何进行判空检查。

8285

被折叠的 条评论
为什么被折叠?



