Velocity模板小结
常用语法
##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
posted on 2011-07-12 17:03 SeQuence.Choi 阅读(4021) 评论(1) 编辑 收藏 举报