常用语法
##1. 单行注释
#*2. 多行注释
多行注释*#
##3. 变量赋值
#set($var="Velocity")
##4. 变量 第一个字符必须为字母
$var
##5.字符串拼接
#set ( $size="Big" )
#set ( $name="Ben" )
#set ( $clock="$size$name")
$clock
##6. 单双引号
#set ( $clock="$size$name")
$clock
#set ($clock='$size$name')
$clock
##7. {}
this is a $varfile.
this is a ${var}file.
##8. !
#set($var=$null)
$null
$!null
##9. \ 转义
#set( $var = "Velocity" )
$var
\$var
\\$var
\\\$var
##10. if else
#if( $var )
<strong>run if!</strong>
#else
<strong>run else!</strong>
#end
#*11. #set( LHS = RHS )
LHS可以是变量引用或属性引用
RHS可以是引用、字符串、数字、ArrayList或Map *#
#set($var.list=["Not", "wrong", "fault"])
#set($var.Map=["banana": "good", "roast beef":"bad"])
##12. #foreach
##arraylist table...
#set($criteria=["java", "c", "php"])
#foreach($lang in $criteria)
$velocityCount
$lang
#end
## num scope
#foreach( $num in [1..5] )
$num
#end
##13. #macro宏命令
#macro( macroo )
<tr><td bgcolor=red>$var</td></tr>
#end
##调用
<table>
#macroo()
#macroo()
</table>
##参数为:$color 和$somelist
#macro( macroname $color $somelist )
#foreach( $something in $somelist )
<tr><td bgcolor=$color>$something</td></tr>
#end
#end
##调用
#set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] )
#set( $color = "blue" )
<table>
#macroname( $color $greatlakes ) ##调用模板tablerows
</table>
##嵌套 参数以by name形式传递
##声明
#macro( inner $foo )
inner : $foo
#end
#macro( outer $foo )
#set($bar = "outerlala")
outer : $foo
#end
##调用
#set($bar = 'calltimelala')
#outer( "#inner($bar)" )
## include 导入的文件内容不会被模板引擎解析。
## parse 许导入一个包含VTL的本地文件,并由模板引擎进行解析。
## #stop 停止模板引擎的执行并返回。这在Debug时很有用。
代码demo:
<html>
<body>
##1. 单行注释
#*2. 多行注释
多行注释*#
##3. 变量赋值
#set($var="Velocity")
##4. 变量 第一个字符必须为字母
<p> 4.The var is: $var</p>
##5.字符串拼接
#set ( $size="Big" )
#set ( $name="Ben" )
#set ( $clock="$size$name")
<p>5.字符串拼接: $clock </p>
##6. 单双引号
<p> 6. 双引号时: </p>
#set ( $clock="$size$name")
$clock
<p> 单引号时: </p>
#set ($clock='$size$name')
$clock
##7. {}
<p>7. 没用{}:this is a $varfile.</p>
<p>用{}: this is a ${var}file.</p>
##8. ! ?
#set($var=$null)
<p>8. 没用!: $null</p>
<p> 用!: $!null </p>
##9. \ 转义
#set( $var = "Velocity" )
<p>9. \$var变为: $var
<p>\\\$var变为: \$var
<p>\\\\\$var变为: \\$var
<p>\\\\\\\$var变为: \\\$var
##10. if else
<p>10. if else例子:</p>
#if( $var )
<strong>run if!</strong>
#else
<strong>run else!</strong>
#end
#*11. #set( LHS = RHS )
LHS可以是变量引用或属性引用
RHS可以是引用、字符串、数字、ArrayList或Map *#
##set($var.list=["Not", "wrong", "fault"])
##set($var.Map=["banana": "good", "roast beef":"bad"])
##12. #foreach
##arraylist table...
<p>12. foreach列表:</p>
#set($criteria=["java", "c", "php"])
#foreach($lang in $criteria)
$velocityCount
$lang
#end
## num scope
<p>数字范围:</p>
#foreach( $num in [1..5] )
$num
#end
##13. #macro宏命令
<p>13. macro 无参数:</p>
#macro( macroo )
<tr><td bgcolor=red>$var</td></tr>
#end
##调用
<table>
#macroo()
#macroo()
</table>
<p>13. macro 有参数:
##参数为:$color 和$somelist
#macro( macroname $color $somelist )
#foreach( $something in $somelist )
<tr><td bgcolor=$color>$something</td></tr>
#end
#end
##调用
#set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] )
#set( $color = "blue" )
<table>
#macroname( $color $greatlakes ) ##调用模板tablerows
</table>
<p>13. macro嵌套 参数以by name形式传递
##声明
#macro( inner $foo )
inner : $foo
#end
#macro( outer $foo )
#set($bar = "outerlala")
outer : $foo
#end
##调用
#set($bar = 'calltimelala')
#outer( "#inner($bar)" )
## include 导入的文件内容不会被模板引擎解析。
## parse 许导入一个包含VTL的本地文件,并由模板引擎进行解析。
## #stop 停止模板引擎的执行并返回。这在Debug时很有用。
</body>
</html>
页面输出为:
4.The var is: Velocity
5.字符串拼接: BigBen
6. 双引号时:
BigBen
单引号时:
$size$name
7. 没用{}:this is a $varfile.
用{}: this is a Velocityfile.
8. 没用!: $null
用!:
9. $var变为: Velocity
\$var变为: $var
\\$var变为: \Velocity
\\\$var变为: \$var
10. if else例子:
run if!
12. foreach列表:
1 java 2 c 3 php
数字范围:
1 2 3 4 5
13. macro 无参数:
Velocity |
Velocity |
13. macro 有参数:
Superior |
Michigan |
Huron |
Erie |
Ontario |
13. macro嵌套 参数以by name形式传递 outer : inner : outerlala