1. 数字范围循环:
#foreach( $index in [$pageRang.begin..$pageRang.end] )
$index
#end
2. 获取foreach index
#foreach()
$velocityCount
#end
从1开始
3.Velocity里的加减法
#set ($n3= $n - 1)
#set ($n2= $n3 *30)
要设置一个变量,而且相减之间要有空格,然后才能减
1、变量输出要带上静止修饰符,避免模板直接空指针报错
举例 :$var错误,$!var正确
如果变量referce与html代码连在一起,需要加上{}
举例 :$! {var}gadsgaggaggas
|
2、Macro的使用
由于宏存在着安全和性能问题,并且会影响模板的可读性,在模板中不推荐使用宏。
3、变量引用不要加引号,避免重复转义举例:
$stringUtil.equals(
"$text"
,
"&"
) 错误
$stringUtil.equals($text,
"&"
) 正确
|
4、关于velocity的版本
目前推荐使用 velocity 1.6.1,因为以往velocity版本往往会出现向下不兼容的情况 版本升级需要经过架构部门(校长)的充分论证和评估才能实施。
5、Velocity的安全性
为避免VELOCITY页面渲染后产生XSS漏洞,应用应该采用校长的安全方案在应用中引入toolkit-service-velocity.1.5 包。
XSS 的过滤,使用 velocity 提供的 xss 过滤功能
1)对于html,可以使用 #SHTML($html)2)对于JS,可以用 #SJS($js)
3)对于xml,可以使用#SXML($xml)
4)屏蔽转义,可以使用#SLITERAL()
上述宏,因为非常消耗CPU,因此如果不含特定内容,不到万不得已,不得使用。