简介
Velocity是一种模板引擎,可以用于以下目的:
1. Web应用:web设计人员创建HTML页面,其中占位符用于存放动态内容。该页面使用VelocityViewServlet或者任何支持Velocity的框架处理。
2. 源码生成
3. 自动邮件
Velocity允许web page设计者和内容提供者分开工作。Velocity允许web page设计者reference在Java中定义的方法。
应用场景:
一个”Online Mud Store”的网站,有的Mud是比较流行的,有的Mud相对不那么流行但是有特定的用户群,一种做法是将这种不怎么流行的Mud放在网站边缘处,更好的做法是针对不同用户呈现customized 的页面。第二种做法可以使用Velocity来实现。
角色1:web page designer(you)
角色2:software engineer
你和software engineer约定使用$customer表示顾客,$mudsOnSpecial表示出售的muds,$flogger表示促销的方法。
你可以嵌入如下VTL在web页面中
<html>
<body>
Hello $customer.Name!
<table>
#foreach( $mud in $mudsOnSpecial )
#if ( $customer.hasPurchased($mud) )
<tr>
<td>
$flogger.getPromo( $mud )
</td>
</tr>
#end
#end
</table>
</body>
</html>
VTL
VTL的目标是提供一种简单的方法,在web page中纳入动态内容。