Velocity用户指南(中文版)(2)
来源:互联网 发布:品茗网络计划破解补丁 编辑:程序博客网 时间:2024/05/02 23:23
引用(References)
VTL有3种类型的引用:变量、属性和方法。作为一个设计者,必须和Java工程师在VTL引用的名称(标识符)上一致,以便在模板中使用它们。引用是作为String对象处理的。
(1)变量
变量的格式:$VTL标识符
VTL标识符以字母开始,由字母、数字、横划线(-)或下划线(_)组成。变量或者从模板中的set指令获得值(如前面的例子),或者Java代码(同名变量)中获得值。Velocity只处理已定义的变量引用,对于没有定义的变量引用,Velocity原样返回。例如下面的例子:
#set( $foo = "gibbous" )
$moon = $foo
输出结果是:$moon = gibbous
(2)属性
属性的格式:$VTL标识符. VTL标识符
下面是属性引用的例子:
$customer.Address
$purchase.Total
拿第一例子来说,有两种意思:
l 返回Hashtable对象customer中键值为Address的值
l $customer.getAddress()方法引用的缩写(JavaBean属性的getter方法)
至于是哪种情况,Velocity会做决定,返回合适的值。
(3)方法
方法的格式:$VTL标识符(参数列表)
下面是方法引用的例子:
$customer.getAddress()
$purchase.getTotal()
$page.setTitle( "My Home Page" )
$person.setAttributes( ["Strange", "Weird", "Excited"] )
前面两个例子可以缩写成属性引用(如属性引用的例子)。属性引用和方法引用的主要区别是方法引用可以指定参数列表。
(4)正式引用符号:{}
正式引用符号在使用变量引用含糊的地方进行区分。看下面的例子:
#set( $vice = "klepto" )
Jack is a $vicemaniac.
输出结果是:Jack is a $vicemaniac.($vicemaniac没有定义,原样输出)
#set( $vice = "klepto" )
Jack is a ${vice}maniac.
输出结果是:Jack is a kleptomaniac.(使用正式引用符号将$vice和其它文本区分开)
(5)Quit引用符号:!
看下面的例子:
初始时,$email没有值,所以文本框中会显示值$email,而更希望是空白。下面是使用Quit引用符号的例子:
当$email没有值时,Velocity会用空串替代$email。
(6)特殊字符转义
对于$、#等特殊字符要正常显示,可以使用/进行转义,//转义为/。下面是一个例子:
#set( $email = "foo" )
$email
输出结果是:
foo
$email
/foo
- Velocity用户指南(中文版)(2)
- Velocity用户指南(中文版)(2)
- Velocity用户指南(中文版)(1)
- Velocity用户指南(中文版)(3)(完)
- Velocity用户指南(中文版)(3)(完)
- Velocity用户指南(中文版)(1)
- Velocity 用户指南手册中文版(转)
- Velocity 用户指南手册中文版(转)
- Velocity用户指南中文版
- Velocity 用户指南手册中文版
- 【资料】Velocity 用户指南手册中文版
- Velocity用户指南(一)
- Velocity用户指南(二)
- Velocity用户指南(三)
- Velocity用户指南(四)
- jBPM jPDL3.2用户指南(中文版)
- OBE用户指南(中文版)
- Tomcat 用户指南(中文版)
- 活着-笨鱼的生存现状
- 测试
- 很想学编程
- 如何使用E-Learning实验室Blog
- Velocity用户指南(中文版)(1)
- Velocity用户指南(中文版)(2)
- 24岁女孩的化妆品使用心得
- Velocity用户指南(中文版)(3)(完)
- 《爱情是什么》、周例会与《执行》
- 今天发现一个有趣的东西Havok,喜欢FPS游戏的朋友对这单词应该有所耳闻吧
- 闲话三国(转自ITPUB)
- 收集了一些小技巧的连接(.NET)
- 理解面向服务的体系结构中企业服务总线场景和解决方案,第 1 部分
- 11111