Velocity学习笔记8——逃逸符

VTL使用特殊的字符来完成工作,例如$和#, 因此如果在你的模板中要使用这样的字符,就需要格外的小心。这里讲解了怎样使用$字符。
 
货币:
$字符在日常生活中通常用作货币字符。下面的句子在VTL中不会有问题:”I bought a sack of potatoes at the farmer’s market for only $2.50!”。在以前曾经提到过,VTL的标识符是以字母开始的,因此$2.50不会被认为是一个引用。
 
逃逸符:
当你的Volicty模板中使用了VTL使用的特殊的字符,会引起Velocity引擎的混淆的时候,就需要使用逃逸符。VTL的逃逸符是’/’。
例如:
#set ($email = “foo” )
$email
当Velocity在你的模板中遇到$email引用的时候,就会搜寻相应的值。在这里输出将会是foo,因为$email被设置为foo。
如果你想要输出字符串$email,该怎么办呢?这个时候就要使用逃逸符了。如下:
## The following line defines $email in this template:
#set( $email = "foo" )
$email
/$email
//$email
///$email
输出为:
foo
$email
/foo
/$email
 
如果 $email没有设置值,如下:
$email
/$email
//$email
///$email
输出则是:
$email
/$email
//$email
///$email
注意,Velocity处理定义了值的引用和没有定义值的引用的方式是不一样的。例如:
#set( $foo = "gibbous" )
$moon = $foo
输出将是:$moon = gibbous,这里$moon作为文字输出,因为它没有被定义值;而$foo将输出gibbous,因为它被定义了值。
VTL的指示(directive)也可以逃逸。这个我们将在讲指示的章节详细讨论。

你可能感兴趣的:(学习笔记)