`
huangyunzeng
  • 浏览: 30426 次
  • 性别: Icon_minigender_1
  • 来自: 秦皇岛
社区版块
存档分类
最新评论

velocity1.7快速上手小例子

阅读更多

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更多的信息,可以查阅相关资料。

分享到:
评论

相关推荐

    springmvc3 + velocity 1.7+maven + mysql

    Spring MVC 3、Velocity 1.7、Maven 和 MySQL 是构建现代Web应用程序的四个关键组件,它们共同为开发者提供了一套强大而灵活的工具集。让我们深入了解一下这些技术及其在项目中的应用。 1. Spring MVC 3:Spring ...

    velocity1.7帮助文档最新

    最新的,纯英文,原网站的帮助文档,1.7的,哪位大侠感兴趣可以翻译下,velocity还是比较简洁好用的,稳定,需要的可以参考下

    Spring3.0.1+Mybatis3.0.5+Struts2.2.3.1+velocity1.7+DWZ

    这是一个基于Java技术栈的老式项目配置,主要涵盖了Spring 3.0.1、Mybatis 3.0.5、Struts2.2.3.1、Velocity 1.7以及DWZ jQuery UI框架的整合应用。下面将详细介绍这些组件及其在项目中的作用。 **Spring 3.0.1**: ...

    velocity-1.7-API文档-中文版.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信息:...

    velocity-1.7

    《Velocity 1.7:强大的模板引擎解析与应用》 Velocity是Apache软件基金会下的一个开源项目,它是一个基于Java的模板引擎,旨在提供一种简单、高效的方式来将静态模板语言转换为Java代码。Velocity 1.7是这个项目的...

    velocity1.7

    在 "velocity1.7.zip" 压缩包中,通常包含以下内容: - `velocity.jar`: 主要的 Velocity 框架库,包含了所有必需的类和资源。 - `velocity-tools*.jar`: 用于提供额外的工具和功能,比如视图助手、验证器等。 - `...

    velocity-1.7.jar

    在1.7版本中,Velocity提供了一种简洁、高效的模板语言,使得非程序员(如内容创作者)也能方便地修改页面布局,而程序员则负责处理数据和业务逻辑。 **核心概念和特点:** 1. **模板语言**:Velocity使用自己的...

    velocity-1.7-sources.zip

    velocity 的源代码 Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上。Velocity 是 Apache 基金会的项目,开发的目标是分离 MVC 模式中的持久化层和业务层。但是在...

    velocity相关资源包1.7和2.0的

    6. **文档更新**:提供了更详细和最新的文档,帮助开发者快速上手。 **Velocity Tools 2.0** Velocity Tools是与Velocity一起使用的工具集合,它们为开发带来便利: 1. **View工具**:提供视图辅助类,简化视图层的...

    velocity-1.7-dep.jar.zip

    总的来说,"velocity-1.7-dep.jar.zip" 提供了一个便捷的方式,让开发者能够快速集成和使用 Velocity 1.7 版本,而无需手动管理其依赖关系。这对于 Java Web 开发,尤其是那些需要动态生成 HTML 或其他文本格式的...

    velocity-1.7-dep.jar

    velocity-1.7-dep.jar ============================================================

    velocity-engine-core-2.1.jar

    velocity-engine-core-2.1.jar

    velocity jar包

    Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,主要用于生成动态Web内容。Velocity以其简单易用、高效稳定的特点,在Java开发中被广泛应用。它通过分离内容与表现层,帮助开发者实现更清晰的...

    velocity-1.7-API文档-中英对照版.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信息:...

    velocity-1.7-javadoc.chm

    自制CHM版的API文档,带索引。 注:如果各位下载后打开或无法显示页面,请在CHM文件右键—属性—解除锁定即可。

    Springmvc4.0.6+mybatis3.2.7+velocity1.7+log4j2

    框架采用最流行技术springmvc4.0.6,和最流行持久层框架mybatis3.2.7,还有Velocity - 模板引擎,还有最新日志输出log4j2的配置并且分级别输出到不同文件, 感兴趣赶紧下载吧

    velocity_lib1.7-jar包

    这个"velocity_lib1.7-jar包"是Velocity库的1.7版本,包含了所有必要的类和资源文件,为开发者提供了一个轻量级的解决方案,以便快速地将数据和逻辑嵌入到静态页面中。 一、Velocity简介 Velocity源于Apache软件...

    springmvc4+hibernate4+velocity1.7jar包

    Spring MVC、Hibernate 和 Velocity 是三个在Java开发中广泛使用的开源框架,它们分别专注于Web应用程序的模型-视图-控制器(MVC)架构、对象关系映射(ORM)以及模板引擎。下面将详细介绍这三个框架以及它们整合...

Global site tag (gtag.js) - Google Analytics