模板语言语法

一、变量
和我们所熟知的其他编程语言一样,Velocity 也可以在模板文件中有变量的概念。
1. 变量定义

#set($name =“velocity”) 等号后面的字符串 Velocity
引擎将重新解析,例如出现以$开始的字符串时,将做变量的替换。 #set($hello =“hello $name”)
上面的这个等式将会给$hello 赋值为“hello velocity”

2.变量的使用

在模板文件中使用$name 或者${name} 来使用定义的变量。推荐使用${name}
这种格式,因为在模板中同时可能定义了类似$name 和$names
的两个变量,如果不选用大括号的话,引擎就没有办法正确识别$names 这个变量。
对于一个复杂对象类型的变量,例如$person,可以使用${person.name} 来访问 person 的 name
属性。值得注意的是,这里的${person.name} 并不是直接访问 person 的 name 属性,而是访问 person 的
getName() 方法,所以${person.name} 和${person.getName()} 是一样的。

3.变量赋值

在第一小点中,定义了一个变量,同时给这个变量赋了值。对于 Velocity 来说,变量是弱数据类型的,可以在赋了一个 String
给变量之后再赋一个数字或者数组给它。可以将以下六种数据类型赋给一个 Velocity 变量:变量引用, 字面字符串, 属性引用, 方法引用,
字面数字, 数组列表。 #set($foo = $bar) #set($foo =“hello”)
#set($foo.name = $bar.name) #set($foo.name =
$bar.getName($arg)) #set($foo = 123) #set($foo = [“foo”,$bar])

二、循环
在 Velocity 中循环语句的语法结构如下:

#foreach($element in $list) This is $element $velocityCount
#end Velocity 引擎会将 list 中的值循环赋给 element 变量,同时会创建一个$velocityCount
的变量作为计数,从 1 开始,每次循环都会加 1.

三、条件语句
条件语句的语法如下

#if(condition) …
#elseif(condition) …
#else …
#end

四、关系操作符

Velocity 引擎提供了 AND、OR 和 NOT 操作符,分别对应&&、||和!
例如:
#if($foo && $bar)
#end

五、宏
Velocity 中的宏可以理解为函数定义。定义的语法如下:

#macro(macroName arg1 arg2 …)

#end

调用这个宏的语法是:
#macroName(arg1 arg2 …) 这里的参数之间使用空格隔开,下面是定义和使用 Velocity
宏的例子:
#macro(sayHello $name)
hello $name
#end
#sayHello(“velocity”) 输出的结果为 hello velocity

六、#parse 和 #include
#parse 和 #include 指令的功能都是在外部引用文件,而两者的区别是,#parse 会将引用的内容当成类似于源码文件,会将内容在引入的地方进行解析,#include 是将引入文件当成资源文件,会将引入内容原封不动地以文本输出。分别看以下例子:
foo.vm 文件:

#set($name =“velocity”)
parse.vm:
#parse(“foo.vm”)

输出结果为:velocity

include.vm:

#include(“foo.vm”)

输出结果为:#set($name =“velocity”)

以上内容包含了部分 Velocity 的语法,详细的语法内容可以参考 Velocity 的官方文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值