1.声明变量
#set($var = XXX)
右边可以是以下的内容
Variable reference
String literal
Property reference
Method reference
Number literal #set ($i=1)
ArrayList #set ($arr=["yt1","t2"])
技持算术运算符
2、注释:
单行## XXX
多行#* xxx
xxxx
xxxxxxxxxxxx*#
3、变量 Variables
以 "$" 开头,第一个字符必须为字母。character followed by a VTL Identifier. (a .. z
or A .. Z).
变量可以包含的字符有以下内容:
alphabetic (a .. z, A .. Z)
numeric (0 .. 9)
hyphen ("-")
underscore ("_")
4、Properties
$Identifier.Identifier
$user.name
hashtable user中的的name值.类似:user.get("name")
5、Methods
object user.getName() = $user.getName()
6、Formal Reference Notation
用{}把变量名跟字符串分开
如
#set ($user="csy"}
${user}name
返回csyname
$username
$!username
$与$!的区别
当找不到username的时候,$username返回字符串"$username",而$!username返回空字符串""
7、双引号 与 引号
#set ($var="helo")
test"$var" 返回testhello
test'$var' 返回test'$var'
可以通过设置 stringliterals.interpolate=false改变默认处理方式
8、条件语句
#if( $foo )
<strong>Velocity!</strong>
#end
#if($foo)
#elseif()
#else
#end
当$foo为null或为Boolean对象的false值执行.
9、逻辑运算符:== && || !
10、循环语句#foreach($var in $arrays ) // 集合包含下面三种Vector, a Hashtable or an Array
#end
#foreach( $product in $allProducts )
<li>$product</li>
#end
#foreach( $key in $allProducts.keySet() )
<li>Key: $key -> Value: $allProducts.get($key)</li>
#end
#foreach( $customer in $customerList )
<tr><td>$velocityCount</td><td>$customer.Name</td></tr>
#end
11、velocityCount变量在配置文件中定义
# Default name of the loop counter
# variable reference.
directive.foreach.counter.name = velocityCount
# Default starting value of the loop
# counter variable reference.
directive.foreach.counter.initial.value = 1
12、定义宏Velocimacros ,相当于函数 支持包含功能
#macro( d )
<tr><td></td></tr>
#end
调用
#d()
13、带参数的宏
#macro( tablerows $color $somelist )
#foreach( $something in $somelist )
<tr><td bgcolor=$color>$something</td></tr>
#end
#end
调用
# tablerows (“red” “…”)
项目开发中需要注意到的要点:
1. vm中显示变量,一律加!和{},如:$!{userName}、$!{userVO.name}、$!{userVO.getName()}、$!{userMap.get(“Bob”)}
2. 合并字符串
如果变量是字符串或数值型,如 #set($user = “Tester”),则应为 “welecom$!{user}”,而不是 “welcome” + $user
3. #if($var)条件判断,当且仅当:$var存在(如果$var是Boolean/boolean型,还必须$var的值为Boolean.true/true)时,条件才成立
4. #foreach()循环的时候,有个系统变量$velocityCount可直接使用,不必自己设定额外的计数器
5. 比较字符串相等,#if($var == “test”) #if(“test”.equals($var))均可,
6. vm中生成URL
#set($userName = “Bob”)
“$offerModule.setTarget('modifySingleOffer.vm').addQueryData(‘userName’, $userName).fork()”
“$offerModule.setTarget('modifySingleOffer.vm').addQueryData(‘userName’, ‘Bob’).fork()”
目标大致如:http://127.0.0.1/offer/modifySingleOffer.htm?userName=Bob
7. vm中调用control
$control.setTemplate("home:pageNavigator.vm").setParameter("position", "top").setParameter("pageList", $pageList)
8.其它可能会被使用到的,如定义自己的宏(定义和修改宏,需要重新启动应用服务器才生效)
分享到:
相关推荐
这个用户手册中文版详细介绍了Velocity的使用方法和语法特性。 ** Velocity 的基本概念 ** 1. **模板(Template)**:模板是Velocity的核心,它是HTML或XML等静态页面中嵌入了Velocity指令的文件,用于生成最终的...
这份中文版的Velocity用户手册将深入解析其语法和用法。 ** Velocity语法基础 ** 1. **变量引用**:在Velocity中,变量以$符号开头,例如 `$name`,表示要引用的变量。 2. **括号内引用**:如果变量名包含特殊...
Velocity 是一款基于 Java 的模板引擎,它的主要功能是将 Java 代码与网页设计分离,允许设计师专注于页面的视觉呈现,而开发者则关注背后的业务逻辑。Velocity 使用一种称为 Velocity Template Language (VTL) 的...
velocity中文手册 Velocity 是一个基于java 的模板引擎(template engine)。它允许任何人仅仅简单的使 用模板语言(template language)来引用由java 代码定义的对象。
【Velocity简明教程1.doc】文档主要介绍了Velocity模板引擎的基础知识和基本语法,这是一个基于Java的模板语言,用于将逻辑代码与页面展示分离,尤其适用于Web开发,支持MVC架构,能够生成SQL、PostScript、XML等...
【Velocity】 Velocity 是一个基于 Java 的模板引擎,它允许开发者使用模板语言(Template Language)来引用由 Java 代码定义的对象。其核心理念是将Java代码与HTML页面内容分离,促进MVC(Model-View-Controller)...
为了更好地使用Velocity,Velocity用户手册提供了详细的例子和说明。手册中包含了对VTL的详细介绍,比如变量的使用、控制结构的编写、指令的应用等,以帮助页面设计者和内容提供者快速熟悉和掌握Velocity的使用。...
** Velocity脚本简明教程 ** Velocity是一款强大的模板引擎,它是Apache软件基金会的开源项目之一。Velocity被设计用于Web应用中的动态内容生成,但也可以应用于任何需要将数据转化为可读文本的场景,如电子邮件、...
【Velocity简介】 Velocity是一个基于Java的模板引擎,它的核心功能是将静态的HTML模板与动态的Java代码相分离,让网页设计人员专注于页面布局,而程序员则专注于业务逻辑的实现。Velocity允许通过模板语言...
Velocity 是一个基于 Java 的模板引擎,它主要用于将静态页面内容与动态数据相结合,实现模板语言与 Java 代码的分离。Velocity 的核心理念是让界面设计人员专注于页面布局和样式,而将业务逻辑处理交给 Java 开发...
【EasyJWeb与Velocity简介】 EasyJWeb是一个Java Web开发框架,它强调的是将业务逻辑与页面展示分离,以提高项目的可维护性和开发效率。在EasyJWeb中,选择Velocity作为视图技术,主要是因为Velocity在可维护性、...
**Velocity用户手册中文版** Velocity是Apache软件基金会下的一个开源项目,它是一个基于Java的模板引擎,用于生成动态Web内容。Velocity将业务逻辑与展示逻辑分离,使得开发者可以专注于编程,而设计师则可以专注...
以上就是从给定文件内容中提取的关于 Velocity 用户手册的知识点。这些知识点覆盖了 Velocity 的基本概念、使用方式以及模板语言 VTL 的核心内容,为理解 Velocity 的功能和应用提供了详细的指导。
**Velocity简介** Velocity是一款强大的Java模板引擎,由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。它旨在将呈现逻辑从应用程序代码中分离出来,使开发者可以专注于业务逻辑,而设计师则可以专注...
### Velocity用户手册精要 **一、Velocity简介与能力范畴** Velocity是一款强大的模板引擎,其功能远远超越了web站点开发的局限。它不仅能够用于创建动态网页,还具备生成SQL、PostScript、XML等各类文档的能力,...