Velocity的主要目的是简化基于一个Template来生成文本,其本身没有包括web相关功能的实现。要构建一个Web application,你需要一个框架来响应HTTP Request,处理用户认证,调用业务逻辑,然后返回Http Response。
下面的例子是在Java程序中使用Velocity,template放在当前project下的resource文件夹中:
VelocityEngine ve = new VelocityEngine();
// 当前Project的相对路径,不要在前面加“/”
ve.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, "resource");
ve.init();
Template t = ve.getTemplate("HelloWorld.vtl");
VelocityContext context = new VelocityContext();
context.put("name", "World");
StringWriter writer = new StringWriter();
t.merge(context, writer);
System.out.println(writer.toString());
Template文件:
<html>
<body>
## This is a single line comment.
#set($foo = “Velocity”)
Hello $foo World!
My name is $name
#*Here are the multiple line comments.*#
</body>
</html>