velocity中文手册

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

$Velocity 用户指南
什么是 Velocity? Velocity 是基于 Java 的模板引擎。 它允许 Web 页面开发者引用 Java 代码中定 义的方法。 Web 设计者可以和 Java 程序开发者并行开发遵循 MVC 模式的 Web 站点。这意味着,Web 设计者可以将精力放在好的 Web 站点设计上,而 Java 程序开发者可以将精力放在编写代码上。Velocity 将 Java 代码从 Web 页面中 分离,使 Web 站点更具长期可维护性,并提供了一种替代 JSP 或 PHP 的方案。
VTL(Velocity Template Language)介绍 VTL 提供一种简单、容易和干静的方法将动态内容合并到 Web 页面。VTL 使用 引用(references)将动态内容插入到 Web 页面中。变量是一种引用,可以指向 Java 代码中的定义内容,或者由 Web 页面中的 VTL 语句来获得值。下面是一 个可以插入到 HTML 文档的 VTL 语句的例子:
#set( $a = "Velocity" )
VTL 语句以#开头,并包含指令(set)。变量以$开头,用引号引起。引号可以是 单引号,也可以是双引号。前者引用具体的 String 值;后者可以包含 Velocity 引用,例如”hello, $name”, $name 会用其当前的值替换。上面的例子是 将值 Velocity 赋值给变量 a。 当变量被赋值后, 就可以在 HTML 文档的任何地方引用, 下面是 Hello Velocity World!的例子:
1



#set( $foo = "Velocity" )
Hello $foo World!


注释 VTL 支持单行注释(以##开始)和多行注释(包括在#*和*#之间),下面是一 个例子:
This text is visible. ## This text is not visible.
This text is visible.
This text is visible. #* This text, as part of a multi-line comment,
is not visible. This text is not visible; it is also part of the
multi-line comment. This text still not visible. *# This text is outside
the comment, so it is visible.
## This text is not visible.
2

引用 VTL 有 3 种类型的引用:变量、属性和方法。作为一个设计者,必须和 Java 工 程师在 VTL 引用的名称(标识符)上一致,以便在模板中使用它们。引用是作 为 String 对象处理的。 (1)变量 变量的格式:$VTL 标识符 VTL 标识符以字母开始,由字母、数字、横划线(-)或下划线(_)组成。变量或者 从模板中的 set 指令获得值(如前面的例子),或者 Java 代码(同名变量)中 获得值。 Velocity 只处理已定义的变量引用, 对于没有定义的变量引用, Velocity 原样返回。例如下面的例子:
#set( $foo = "gibbous" )
$moon = $foo
输出结果是:$moon = gibbous (2)属性 属性的格式:$VTL 标识符. VTL 标识符 下面是属性引用的例子:
$customer.Address
$purchase.Total
拿第一例子来说,有两种意思:  返回 Hashtable 对象 customer 中键值为 Address 的值
3


$customer.getAddress()方法引用的缩写(JavaBean 属性的 getter 方 法)
至于是哪种情况,Velocity 会做决定,返回合适的值。 (3)方法 方法的格式:$VTL 标识符(参数列表) 下面是方法引用的例子:
$customer.getAddress()
$purchase.getTotal()
$page.setTitle( "My Home Page" )
$person.setAttributes( ["Strange", "Weird", "Excited"] )
前面两个例子可以缩写成属性引用(如属性引用的例子)。属性引用和方法引用 的主要区别是方法引用可以指定参数列表。 (4)正式引用符号:{} 正式引用符号在使用变量引用含糊的地方进行区分。看下面的例子:
#set( $vice = "klepto" )
Jack is a $vicemaniac.
输出结果是:Jack is a $vicemaniac.($vicemaniac 没有定义,原样输出)
#set( $vice = "klepto" )
Jack is a ${vice}maniac.
4

输出结果是:Jack is a kleptomaniac.(使用正式引用符号将$vice 和其它文本 区分开) (5)Quit 引用符号:! 看下面的例子:

初始时,$email 没有值,所以文本框中会显示值$email,而更希望是空白。下 面是使用 Quit 引用符号的例子:

当$email 没有值时,Velocity 会用空串替代$email。 (6)特殊字符转义 对于$、#等特殊字符要正常显示,可以使用\进行转义,\\转义为\。下面是一个 例子:
#set( $email = "foo" )
$email
\$email \\$email \\\$email 输出结果是:
foo
5

相关文档
最新文档