Velocity是一个基于Java的模板引擎。它允许任何人使用简单而强大的模板语言来引用Java代码中定义的对象。
当Velocity用于Web开发时,Web设计人员可以与Java程序员并行工作,以根据模型 - 视图 - 控制器(MVC)模型开发Web站点,这意味着网页设计人员可以专注于创建一个看起来很好的站点,程序员可以专注于编写一流的代码。
Velocity将Java代码与网页分开,使网站在其生命周期内更加可维护,并为
Java Server Pages(JSP)或PHP提供了可行的替代方案。Velocity的功能远远超出了网络的范围;
例如,它可以用于从模板生成SQL,PostScript和XML。
它可以用作生成源代码和报告的独立实用程序,也可以用作其他系统的集成组件。
例如,Velocity为各种Web框架提供模板服务,使他们能够根据真正的MVC模型,使视图引擎促进Web应用程序的开发。
摘自官方文档(http://velocity.apache.org/engine/devel/overview.html)
官方文档很详细,可以根据官方文档进行学习
-
HelloWorld
- 首先创建java 工程(这里使用maven 创建工程,具体可参考:http://www.jianshu.com/p/db35bce41b17)
- 引入velocity依赖。在pom.xml文件中添加以下依赖
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
- 在resource目录下新建hellovelocity.vm 文件 ,并编写内容,如下
hellovellocity.vm
hello ${name}
- 创建HelloVelocity.java结构如 1 图所示
HelloVelocity.java具体代码
package cn.test01;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
public class HelloVelocity {
public static void main(String[] args) {
// 初始化模板引擎
VelocityEngine ve = new VelocityEngine();
ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
ve.init();
// 获取模板文件
Template template = ve.getTemplate("hellovelocity.vm");
VelocityContext velocityContext = new VelocityContext();
// 设置变量
velocityContext.put("name", "zhangsan");
// 输出
StringWriter sw = new StringWriter();
t.merge(velocityContext,sw);
System.out.println(sw.toString());
}
}
- run as ....控制台打印结果
hello zhangsan
总结:velocity模板引擎的学习,主要在于VTL语句,也就是如何编写vm 文件,具体可参考:http://blog.csdn.net/nengyu/article/details/6671904
http://velocity.apache.org/engine/devel/user-guide.html#about-this-guide