On this page
如果,否则,否则
Page Contents
Synopsis
<#if condition>
...
<#elseif condition2>
...
<#elseif condition3>
...
...
<#else>
...
</#if>
Where:
condition
,condition2
,...等:表达式的计算结果为布尔值。
elseif
-s 和else
是可选的。
骆驼的案例名称变体:elseIf
Description
您可以使用if
,elseif
和else
指令有条件地跳过模板的一部分。 condition
-s 必须计算为布尔值,否则错误将中止模板处理。 elseif
-s 和else
-s 必须出现在if
内部(即,if
起始标记和结束标记之间)。 if
可以包含任意数量的elseif
-s(包括 0),最后可以包含一个else
。例子:
if
与 0 elseif
且没有else
:
<#if x == 1>
x is 1
</#if>
if
与 0 elseif
和else
:
<#if x == 1>
x is 1
<#else>
x is not 1
</#if>
if
与 2 elseif
且没有else
:
<#if x == 1>
x is 1
<#elseif x == 2>
x is 2
<#elseif x == 3>
x is 3
</#if>
if
与 3 elseif
和else
:
<#if x == 1>
x is 1
<#elseif x == 2>
x is 2
<#elseif x == 3>
x is 3
<#elseif x == 4>
x is 4
<#else>
x is not 1 nor 2 nor 3 nor 4
</#if>
要了解有关布尔表达式的更多信息,请参见:模板作者指南/模板/表达式。
您可以嵌套if
指令(当然):
<#if x == 1>
x is 1
<#if y == 1>
and y is 1 too
<#else>
but y is not
</#if>
<#else>
x is not 1
<#if y < 0>
and y is less than 0
</#if>
</#if>
Note:
当您要测试x > 0
或x >= 0
时,写<#if x > 0>
和<#if x >= 0>
是错误的,因为第一个>
将关闭#if
标记。要解决此问题,请写<#if x gt 0>
或<#if gte 0>
。还要注意,如果比较发生在括号内,则不会有此类问题,就像<#if foo.bar(x > 0)>
可以正常工作一样。