回到顶部
您的当前位置: 编程语言> JAVA> JAVA项目> Velocity
Apache Velocity(三)Hello Velocity
2014-06-02 20:13:23
标签: 网络整理 Velocity
Velocity模板语言(VTL):说明

VTL意味着提供最简单、最容易并且最整洁 的方式合并页面动态内容。VTL   使用references在website内嵌套动态内容,一个变量就是一种类型的reference。变量是某种 类型的refreence,它可以指向java代码中的定义,或者从当前页面内定义的VTLstatement得到值。下面是一个 VTLstatement的例子,它可以被嵌套到HTML代码中:

#set($a="Velocity")

和所有的VTL statement一样,这个statement以#字符开始并且包含一个set指令。当一个 在线用户请求你的页面 时,Velocity 模板引擎将查询整个页面以便发现所有#字符,然后确定哪些是VTL statement,哪些不需要VTL作任何事情。

#字符后紧跟一个 指令:set 时,这个 set directive 使用一个表达式(使用括号封闭)―― 一个方程式分配一个值给变量。变量被列在左边,而它的值被列在右边,最后他们之间使用=号分割。

在 上面的例子中,变量是$a,而它的值是Velocity,和其他的references一样以$字符开始,而值总是以双引号封闭。Velocity中仅有 String可以被赋值给变量。使用$字符开始的references用于得到什么,使用#字符开始的directives用于作些什么。在上面的例子 中,#set是分配一个值给变量,变量$a在模板中输出 "Velocity"。

"引用"以$开头,是取得一些东东;而"指示"(Directives)则以#开头,有点"做些什么动作"的意思。

Hello Velocity World!

一旦某个变量被分配了一个值,那么你就可以在HTML文件的任何地方引用它。在下面的例子中,一个值被分配给$foo变量,并在其后引用。

<html>
  <body> 
  #set($foo="Velocity")
  Hello $foo World! 
  </body>
<html>

上面的实现结果是在页面上打印“Hello Velocity World!”。

为了使包含VTL directivesstatement更具有可读性,我们鼓励你在新行开始每个VTL statement,尽管不是必须这么作。Set的用法将在后面详细描述。

注释

注释是那些描述文本不出现在模板引擎输出里面。注释一个主要用处是提醒自己和解释出现在VTL中的声明,或是其他用途。下面是一个在VLT中的注释例子。

## This is a single line comment.

单行注释以##开始,结束在这行的结尾。如果你要写几行注释,这没有必要写几个单行注释,多行注释,以#*开始*#结束,可以解决这个问题。

This is text that is outside the multi&shy;linecomment.Online visitors can see it.
#*
Thus begins a multi&shy;line comment. Onlinevisitors won't
see this text because the VelocityTemplating Engine will
ignore it.
*#
Here is text outside the multi&shy;linecomment; it is visible.

这里有几个例子关于单行和多行注释如何工作。

This text is visible. ## This text is not.
This text is visible.
This text is visible. #* This text, as partof a multi&shy;line comment,
is not visible. This text is not visible;it is also part of the
multi&shy;line comment. This text still notvisible. *# This text is outside
the comment, so it is visible.
## This text is not visible.

这里有第三种类型的注释,VLT 注释块,可能用于存放文档的作者名称和版本信息。

#**
This is a VTL comment block andmay be usedto store such information
as the document author andversioninginformation:
@author
@version 5
*#