1、新建一个java工程,将velocity的jar包添加进编译路径,包括velocity-1.7.jar和lib中的所有jar包,这里给出下载链接:http://velocity.apache.org/download.cgi。
2、给出模板文件:example.vm.
<?xml version="1.0" encoding="UTF-8"?>
<list>
#foreach( $name in $list )
$name is fun!
#end
</list>
3、给出我的测试类,将模板文件和类文件放在一个目录下。
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
public class HelloVeloctiy {
public HelloVeloctiy(String templateFile) {
try {
Velocity.init();
/*
* Make a context object and populate with the data. This is where
* the Velocity engine gets the data to resolve the references (ex.
* $list) in the template
*/
VelocityContext context = new VelocityContext();
context.put("list", getNames());
/*
* get the Template object. This is the parsed version of your
* template input file. Note that getTemplate() can throw
* ResourceNotFoundException : if it doesn't find the template
* ParseErrorException : if there is something wrong with the VTL
* Exception : if something else goes wrong (this is generally
* indicative of as serious problem...)
*/
Template template = null;
try {
template = Velocity.getTemplate(templateFile);
} catch (ResourceNotFoundException rnfe) {
System.out.println("Example : error : cannot find template "
+ templateFile);
} catch (ParseErrorException pee) {
System.out.println("Example : Syntax error in template "
+ templateFile + ":" + pee);
}
/*
* Now have the template engine process your template using the data
* placed into the context. Think of it as a 'merge' of the template
* and the data to produce the output stream.
*/
BufferedWriter writer = writer = new BufferedWriter(
new OutputStreamWriter(System.out));
if (template != null)
template.merge(context, writer);
/*
* flush and cleanup
*/
writer.flush();
writer.close();
} catch (Exception e) {
System.out.println(e);
}
}
public ArrayList getNames()
{
ArrayList list = new ArrayList();
list.add("HelloVelocity 1");
list.add("HelloVelocity 2");
list.add("HelloVelocity 3");
list.add("HelloVelocity 4");
return list;
}
public static void main(String[] args)
{
HelloVeloctiy t = new HelloVeloctiy("example.vm");
}
}
4、编译执行,看看输出是不是很简单:
<?xml version="1.0" encoding="UTF-8"?>
<list>
HelloVelocity 1 is fun!
HelloVelocity 2 is fun!
HelloVelocity 3 is fun!
HelloVelocity 4 is fun!
</list>
5、关于VTL更多的信息,可以查阅相关资料。
分享到:
相关推荐
最新的,纯英文,原网站的帮助文档,1.7的,哪位大侠感兴趣可以翻译下,velocity还是比较简洁好用的,稳定,需要的可以参考下
根据本人公司开发项目自己搭建的一个velocity小例子,就是想看看velocity如何运行加载前台页面
赠送jar包:velocity-1.7.jar; 赠送原API文档:velocity-1.7-javadoc.jar; 赠送源代码:velocity-1.7-sources.jar; 包含翻译后的API文档:velocity-1.7-javadoc-API文档-中文(简体)版.zip 对应Maven信息:...
此项目介绍了以SSM(struts2+Spring3+Mybatis3)项架整合,页面采用VM(velocity)+DWZ(简单实用国产jQuery UI框架)集合
velocity-1.7,包含jar包以及全部的依赖
velocity 的源代码 Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上。Velocity 是 Apache 基金会的项目,开发的目标是分离 MVC 模式中的持久化层和业务层。但是在...
velocity-1.7 velocity-1.7 velocity-1.7
里面包含了velocity1.7的资源包和2.0的资源包
velocity-1.7-dep.jar ============================================================
整合了springmvc4+hibernate4+velocity1.7的所有jar包,使用其相关技术的童鞋们,可以下载下来导入使用!
velocity1.7.zip 及相关依赖jar。JDK 1.7。
velocity-engine-core-2.1.jar
velocity-1.7-dep.jar.zip velocity-1.7-dep.jar.zip velocity-1.7-dep.jar.zip
赠送jar包:velocity-1.7.jar 赠送原API文档:velocity-1.7-javadoc.jar 赠送源代码:velocity-1.7-sources.jar 包含翻译后的API文档:velocity-1.7-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:...
自制CHM版的API文档,带索引。 注:如果各位下载后打开或无法显示页面,请在CHM文件右键—属性—解除锁定即可。
框架采用最流行技术springmvc4.0.6,和最流行持久层框架mybatis3.2.7,还有Velocity - 模板引擎,还有最新日志输出log4j2的配置并且分级别输出到不同文件, 感兴趣赶紧下载吧
Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎
Velocity 源码例子