Freemarker if else指令详解


java Freemarker中if指令主要是做if判断用的,要注意的是条件等式必须用括号括起来。

定义

<#if condition>...
<#elseif condition2>...
<#elseif condition3>...
<#else>...
</#if>
  1. condition,condition2等表达式将被计算成布尔值。

  2. elseif 和 else必须出现在if的内部,也就是说,在if的开始标签和结束标签之间。

  3. if中可以包含任意数量的elseif(包含0个),而且结束时else时可选的。

例子

<#if student.studentAge lt 12>  
    ${student.studentName}不是一个初中生  
<#elseif student.studentAge lt 15>  
    ${student.studentName}不是一个高中生  
<#elseif student.studentAge lt 18>  
    ${student.studentName}不是一个大学生  
<#else>  
    ${student.studentName}是一个大学生  
</#if>

如果student.studentAge为20,student.studentName为张三丰,执行结果如下:

张三丰是一个大学生

<#assign age=23>
<#if (age>60)>老年人
<#elseif (age>40)>中年人
<#elseif (age>20)>青年人
<#else> 少年人
</#if>

输出结果是:

青年人