处理不存在的变量
数据模型中经常会有可选的变量(也就是说有时并不存在)。 除了一些典型的人为原因导致失误外,FreeMarker
绝不能容忍引用不存在的变量, 除非明确地告诉它当变量不存在时如何处理。这里来介绍两种典型的处理方法。
这部分对程序员而言: 一个不存在的变量和一个是
null
值的变量, 对于FreeMarker
来说是一样的,所以这里所指的"丢失"包含这两种情况。
不论在哪里引用变量,都可以指定一个默认值来避免变量丢失这种情况, 通过在变量名后面跟着一个 !
和默认值。 就像下面的这个例子,当user
不存在于数据模型时, 模板将会将user
的值表示为字符串 "doctor"
。(当 user
存在时, 模板就会表现出${user}
的值):
<h1>Welcome ${user!"visitor"}!</h1><