如何在freemarker中评估if语句?

时间:2013-10-25 13:39:54

标签: java freemarker

我试图了解freemarker如何评估具有多个条件的if语句,例如:

<#if person?? && person.phone?has_content && person.phone != "11">
    do something
</#if>

如果有人?如果返回false,freemarker仍然会评估语句的其余部分,还是只返回整个语句的false?我试图弄清楚person.phone是否为null这个if语句在尝试评估if语句中的最后一个条件时会抛出错误吗?我试图让它尽可能干净,而不必嵌套一堆if语句。

谢谢!

1 个答案:

答案 0 :(得分:2)

在Java中,逻辑运算符&&||短路,这意味着如果运算符不需要,它们就不会对运算符进行任何计算。

在您person评估为false时给出的示例中,将不会评估其余条件。

This answer provides a good example

此外,this forum thread中的最后一篇文章特别针对支持短路逻辑运算符的freemarker