关于大小写
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]