注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

Velocity使用总结之指令(directives)2  

2013-02-17 22:10:21|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
继续上一篇的指令讲解
#include
#include指令允许你导入一个本地文件,文件的内容会出现在#include指令使用的位置,但是内容不会被template引擎解析。

#include("file.txt")

导入多个文件

#include("file1.txt", "file2.txt", "file3.html")

#parse
#parse指令相对于#include指令的唯一区别就是,它会解析导入的文件中的VTL。

#parse("tem.vm")

#evaluate
用来对引用进行动态求值
#set($source1 = "abc") #set($select = "1") #set($dynamicsource = "$source$select") ## $dynamicsource is now the string '$source1' #evaluate($dynamicsource)
#define
#define指令会定义一个VTL块给一个引用。
#define( $block )Hello $who#end #set( $who = 'World!' ) $block

#macro

#macro指令,我把它理解为可以定义函数,有参数,有输出。

不带参数例子

#macro( d )
<tr><td></td></tr>
#end

执行

#d()

参数例子注意参数空格隔开的。

#macro( tablerows $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>
#tablerows( $color $greatlakes )
</table>

最终输出:

<table>
<tr><td bgcolor="blue">Superior</td></tr>
<tr><td bgcolor="blue">Michigan</td></tr>
<tr><td bgcolor="blue">Huron</td></tr>
<tr><td bgcolor="blue">Erie</td></tr>
<tr><td bgcolor="blue">Ontario</td></tr>
</table>

#macro参数类型

Reference : anything that starts with '$'

String literal : something like "$foo" or 'hello'

Number literal : 1, 2 etc

IntegerRange : [ 1..2] or [$foo .. $bar]

ObjectArray : [ "a", "b", "c"]

boolean value true

boolean value false

#macro( callme $a )
$a $a $a
#end
#callme( $foo.bar() )

  评论这张
 
阅读(224)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017