1 前言
本版本基于freemarker2.3.16。
2 基本指令集
2.0 默认值
在freemarker中,如果传入页面的变量为null(不存在),则会直接报错,所以当变量不存在时为它指定一个默认值是非常有必要的。使用形式为:expr!default_expr。当然你也可以省略default_expr,这样默认值是空字符串(啥都没有)。
下面的代码中,从后台没有王模板中传入mouse变量:
// freemarker页面
${mouse!"No mouse."}
// 显示
No mouse.
2.1 if ,else ,elseif 指令
1) 概要
if,else,elseif指令的使用模板如下,condition、 condition2 等表达式将被计算成布尔值。
<#if condition>
...
<#elseif condition2>
...
<#elseif condition3>
...
<#else>
...
</#if>
2)具体使用
这里直接看freemarker和springmvc一起使用时的代码,跟jsp差不多,在页面也是通过${}来引用一个变量
// sprigmvc控制层
model.addAttribute("x",1);
// freemarker页面1
<#if x == 1>
${x} is 1:yes
<#else>
${x} is 1:no
</#if>
// freemarker页面2
<#if x == 1>
${x} is 1
<#elseif x == 2>
${x} is 2
<#elseif x == 3>
${x} is 3
</#if>