回到顶部
您的当前位置: 编程语言> JAVA> JAVA项目> Velocity
Apache Velocity(八)特殊用法
2014-06-04 16:52:21
标签: 网络整理 Velocity 特殊用法
关于大小写

Velocity是大小写敏感的。但是为了减少使用者的错误,某些地方存在特殊情况。比如$foo.bar,首先会被检查是否能匹配$foo.getbar(),再被检查是否能匹配$foo.getBar()。而$foo.Bar,首先会被检查是否能匹配$foo.getBar(),再被检查是否能匹配$foo.getbar()。

属性不会被解析为对象的实例变量,即$foo.bar不表示foo这个java对象的bar属性。

关于数学函数

在模板中可以使用 Velocity 内建的算术函数,如:加、减、乘、除。下面的等式分别是:加、减、 乘、除:

#set( $foo = $bar + 3 )
#set( $foo = $bar -­ 4 )
#set( $foo = $bar * 6 )
#set( $foo = $bar / 2 )

当执行除法时将返回一个 Integer 类型的结果。而余数你可以使用%来得到:

#set( $foo = $bar % 5 )

在Velocity内使用数学计算公式时,只能使用像-n,-2,-1,0,1,2,n 这样的整数,而不能使用其它类 型数据。当一个非整型的对象被使用时它将被 logged 并且将以 null 作为输出结果。

关于范围操作(Range Operator)

Range operator 可以被用于与#set 和#foreach statement 联合使用。对于处理一个整型数组它是很 有用的,Range operator具有以下构造形式:

[n..m]

m和n都必须是整型,而m是否大于n则无关紧要

First example
#foreach( $foo in [1..5] )
$foo
#end

Second example
#foreach( $bar in [2..­-2] )
$bar
#end

Third example
#set( $arr = [0..1] )
#foreach( $i in $arr )
$i
#end

Fourth example
[1..3]

产生以下输出:

First example:
1 2 3 4 5

Second example:
2 1 0 ­-1 -­2

Third example:
0 1

Fourth example:
[1..3]