if, else, elseif

Synopsis

[#if condition]
  ...
[#elseif condition2]
  ...
[#elseif condition3]
  ...
...
[#else]
  ...
[/#if]

Where:

  • condition, condition2, etc.: Expression evaluates to a boolean value.

Description

You can use if, elseif and else directives to conditionally skip a section of the template. The condition-s must evaluate to a boolean value, or else an error will abort template processing. The elseif-s and else-s must occur inside if (that is, between the if start-tag and end-tag). The if can contain any number of elseif-s (including 0) and at the end optionally one else. Examples:

if with 0 elseif and no else:

[#if x == 1]
  x is 1
[/#if]  

if with 0 elseif and else:

[#if x == 1]
  x is 1
[#else]
  x is not 1
[/#if]  

if with 2 elseif and no else:

[#if x == 1]
  x is 1
[#elseif x == 2]
  x is 2
[#elseif x == 3]
  x is 3
[/#if]  

if with 3 elseif and 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]  

To see more about boolean expressions, see: Template Author's Guide/Expressions.

You can nest if directives (of course):

[#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]  

Page generated: 2008-07-16 22:54:16 GMT FreeMarker Manual -- For FreeMarker 2.4pre1 - INCOMPLETE/OUTDATED!