Category Archives: Velocity

velocity里使用多个layout模板

layout模板可以帮助我们统一网站各个页面的外观布局,简化不必要的重复性工作。一般我们都是如下配置的:
首先,在调用velocity的spring配置文件里添加如下的视图解析器bean:

这里我们的模板文件为:layout/default.vm,内容为:


$screen_content

其中$screen_content是用来显示每个子页的具体内容的。
这样配置后,网站里的每个页面都会应用这个layout模板了。
不过,大部分时候网站都不止一套模板,比如网站里的新闻频道和商机频道就会用到不同的模板,但刚才我们定义的模板会用在所有的页面上,那该怎么解决呢?很简单,只需再建一个模板,如:layout/default2.vm,然后在需要用到这个layout模板的vm文件加上:#set( $layout = “/layout/default2.vm” ),OK,这样就可以了,简单吧。

velocity中容易忽视的问题

velocity里的减号(-)与变量之间要加空格才能正常计算,否则会被一起当成变量来处理。
在vm里要用到<、>等数值比较时,放入变量时不能放入字符串的形式,要放入数字类型,否则会报“is not a valid Number”等错,如:out.put(“currentPage”, Integer.valueOf(p));
有时在网页里加锚点时,会在前面加上多个#号,如“###xxx”,结果同一行的后面的代码就显示不出来了,后来才发现因为velocity里的注释为”##”,后面的代码被注释了,改为一个“#”就可以了