velocity基础教程之模板发布

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

下面我们通过一个简单的实例来讲解一下velocity的使用过程
Java代码

  • // 创建引擎   
  •         VelocityEngine ve=new VelocityEngine();  
  •         //设置模板加载路径,这里设置的是class下   
  •         ve.setProperty(Velocity.RESOURCE_LOADER, "class");  
  •         ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");  
  •         try {  
  •             //进行初始化操作   
  •             ve.init();  
  •             //加载模板,设定模板编码   
  •             Template t=ve.getTemplate("test/velocity/simple1.vm","gbk");  
  •             //设置初始化数据   
  •             VelocityContext context = new VelocityContext();  
  •             context.put("name", "张三");  
  •             context.put("project", "Jakarta");  
  •             //设置输出   
  •             StringWriter writer = new StringWriter();  
  •             //将环境数据转化输出   
  •             t.merge(context, writer);  
  •             //简化操作   
  •             //ve.mergeTemplate("test/velocity/simple1.vm", "gbk", context, writer );   
  •             System.out.println(writer.toString());  
  •         } catch (Exception e) {  
  •             e.printStackTrace();  
  •         }   // 创建引擎 VelocityEngine ve=new VelocityEngine(); //设置模板加载路径,这里设置的是class下 ve.setProperty(Velocity.RESOURCE_LOADER, "class"); ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); try { //进行初始化操作 ve.init(); //加载模板,设定模板编码 Template t=ve.getTemplate("test/velocity/simple1.vm","gbk"); //设置初始化数据 VelocityContext context = new VelocityContext(); context.put("name", "张三");         context.put("project", "Jakarta");         //设置输出         StringWriter writer = new StringWriter(); //将环境数据转化输出         t.merge(context, writer);         //简化操作         //ve.mergeTemplate("test/velocity/simple1.vm", "gbk", context, writer ); System.out.println(writer.toString()); } catch (Exception e) { e.printStackTrace(); }


    这里需要注意的是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代码
  • ## 第一个例子  
  • 你好 $name !  
  • $project project.   ## 第一个例子你好 $name !$project project.


    到目前为止一个简单单完整的velocity已经完成
  • 你可能感兴趣的:(apache,velocity)