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编辑  收藏  举报

导航