velocity基础教程--1.标准使用(zhuan)

http://llying.iteye.com/blog/387253

****************************

velocity是一个非常好用的模板引擎
这里不对项目进行详细介绍,可以访问apache官方网站查看相关说明

下面我们通过一个简单的实例来讲解一下velocity的使用过程
Java代码  收藏代码
  1. // 创建引擎  
  2.         VelocityEngine ve=new VelocityEngine();  
  3.         //设置模板加载路径,这里设置的是class下  
  4.         ve.setProperty(Velocity.RESOURCE_LOADER, "class");  
  5.         ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");  
  6.         try {  
  7.             //进行初始化操作  
  8.             ve.init();  
  9.             //加载模板,设定模板编码  
  10.             Template t=ve.getTemplate("test/velocity/simple1.vm","gbk");  
  11.             //设置初始化数据  
  12.             VelocityContext context = new VelocityContext();  
  13.             context.put("name", "张三");  
  14.             context.put("project", "Jakarta");  
  15.             //设置输出  
  16.             StringWriter writer = new StringWriter();  
  17.             //将环境数据转化输出  
  18.             t.merge(context, writer);  
  19.             //简化操作  
  20.             //ve.mergeTemplate("test/velocity/simple1.vm", "gbk", context, writer );  
  21.             System.out.println(writer.toString());  
  22.         } catch (Exception e) {  
  23.             e.printStackTrace();  
  24.         }  


这里需要注意的是Template t=ve.getTemplate("test/velocity/simple1.vm","gbk");
这里的gbk不是必须的,但是我的模板中使用了中文所以要指定编码规则。

其次是
ve.setProperty(Velocity.RESOURCE_LOADER, "class");
ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
很多人初次使用velocity的时候总是找不到模板,而改用绝对路径访问模板
就是因为没有设置模板存储的地址

也可以使用Velocity.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, loadpath);
loadpath是路径地址

simple1.vm
Java代码  收藏代码
  1. ## 第一个例子  
  2. 你好 $name !  
  3. $project project.  


到目前为止一个简单单完整的velocity已经完成。
 
原文地址:https://www.cnblogs.com/zhao1949/p/6016606.html