`

Velocity模版引擎的小例子(带绝对路径的)

 
阅读更多

本例子是访问:D:\3.0_BCSHOP-3106\product\example.vm下模版



package com.bcgogo.product.model;

import org.apache.velocity.*;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.runtime.resource.loader.StringResourceLoader;
import org.apache.velocity.runtime.resource.util.StringResourceRepository;

import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Properties;

/**
 * Created by IntelliJ IDEA.
 * User: WWW
 * Date: 12-9-3
 * Time: 上午9:58
 * To change this template use File | Settings | File Templates.
 */
public class Example {
  public Example() {
    try {
      /*
      * setup
      */
      Properties p = new Properties();
      p.setProperty("runtime.log", "velocity.log");
        p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, "D:\\3.0_BCSHOP-3106\\product");
      Velocity.init(p);
      /*
      *  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("/example.vm");
      } catch (ResourceNotFoundException rnfe) {
        System.out.println("Example : error : cannot find template "  );
      } catch (ParseErrorException pee) {
        System.out.println("Example : Syntax error in template " + ":" + 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 = 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("ArrayList element 1");
    list.add("ArrayList element 2");
    list.add("ArrayList element 3");
    list.add("ArrayList element 4");

    return list;
  }

  public static void main(String[] args) {
    Example t = new Example();
  }
}
分享到:
评论

相关推荐

    Velocity模板邮件发送例子(Spring框架)(可通用,支持多扩展)

    在IT行业中, Velocity是一款...通过以上方法,我们可以构建一个高效、可扩展的邮件发送系统,利用Velocity模板引擎的强大功能,使邮件内容更加个性化和多样化。在实际开发中,可以根据项目需求进行适当的调整和优化。

    Velocity+servlet简单工程例子

    这个"Velocity + Servlet简单工程例子"是为了帮助那些正在学习Velocity的爱好者们更好地理解和应用Velocity模板语言到实际的Web开发中。Velocity通过将表现层(视图)与业务逻辑层(控制器)分离,实现了MVC(Model-...

    SpringMVC+Velocity+Maven整合例子

    其次,Velocity是一个快速、轻量级的Java模板引擎。它允许开发者使用简单的模板语言来创建动态内容,将HTML和业务逻辑分离,使得页面设计者和程序员可以协同工作。Velocity2相较于前一版本,增强了性能和易用性,...

    velocity例子

    Velocity是Apache软件基金会的一个开源项目,它是一款Java模板引擎,用于生成动态Web内容。 Velocity的主要目的是将呈现逻辑从业务逻辑中分离出来,使得开发者可以专注于应用程序的后端处理,而设计师则可以自由地...

    SpringMVC3+velocity最简单配置例子

    4. **创建Velocity模板**: 在指定的资源路径(如`/WEB-INF/velocity/`)下创建`.vm`文件,如`example.vm`,并使用VTL语法引用模型中的数据。 5. **运行与测试**: 启动服务器,访问对应的URL,SpringMVC会调用...

    Spring Velocity简单的一个例子(转)

    Spring Velocity是一个将Velocity模板引擎与Spring框架集成的示例,这个例子主要展示了如何在Spring应用中使用Velocity来渲染动态内容。Velocity是一个Java模板引擎,它允许开发者将逻辑和表示分离,使得网页设计...

    Velocity模板技术

    Velocity模板技术是一种用于分离HTML、XML、PDF等文档的格式和数据的模板引擎。它广泛应用于Java Web开发中,尤其在MVC架构下,用于视图层的渲染。Velocity的核心优势在于其强大的表达式语言、丰富的指令集以及高效...

    92.Spring Boot使用模板velocity【从零开始学Spring Boot】

    《Spring Boot整合Velocity模板引擎详解》 在现代Java Web开发中,Spring Boot以其简洁的配置、强大的功能和高效的开发效率,成为了许多开发者的首选框架。而Velocity作为一款轻量级的模板引擎,能够帮助我们快速...

    Velocity

    在提供的 `VelocityExample` 文件中,我们可以找到一个使用Velocity模板引擎的简单例子。这可能包括一个`.vm`模板文件,展示如何引用Java对象和执行控制结构,以及对应的Java代码,展示了如何创建上下文、加载模板并...

    SpringMVC+ibatis+velocity整合例子

    最后,Velocity是一个基于Java的模板引擎,它的设计目标是将模板语言与应用逻辑分离,使得开发者可以专注于页面布局和样式,而不用关心业务逻辑。Velocity模板语言简洁且易于理解,开发者可以在模板中嵌入Java表达式...

    velocity官方工具包

    总的来说,Velocity官方工具包是学习和使用Velocity的重要资源,它为开发者提供了一个完整的环境,包括了必要的库和实例,有助于快速掌握Velocity模板引擎的使用方法,从而在实际项目中发挥出其强大的能力。...

    Velocity入门教程实例

    Velocity是一个基于Java的模板引擎,它主要的作用是在Web开发中...总之,Velocity模板引擎因其简单和功能强大的特点,在Java Web开发中被广泛地采用,它支持开发者进行高效的模板设计,提高了Web应用的开发和维护效率。

    Velocity入门小实例,纯java工程

    Velocity是一个基于Java的模板引擎,它允许开发者在模板中使用特定的语法(Velocity Template Language, VTL)来插入动态内容。当模板与数据源结合时,Velocity会生成最终的静态输出,如HTML页面或XML文档。这遵循...

    Velocity小demo

    Velocity 是一个开源的 Java 模板引擎,它允许开发者将业务逻辑与表现层分离,使得网页设计人员可以专注于页面的布局和样式,而程序员则处理应用程序的后端逻辑。Velocity 通过使用简单的指令语言,使 HTML 页面中的...

    struts2与velocity集成 实例

    在这个例子中,当“myAction”被调用后,Struts2会寻找名为`myTemplate.vm`的Velocity模板文件,并将Action中的模型数据注入到模板中进行渲染。 接下来,你需要在项目中创建Velocity模板文件。这个文件通常位于`WEB...

    velocity示例

    根据提供的标题、描述、标签及部分内容,我们可以了解到这段资料主要涉及的是Velocity模板引擎在.NET环境下的使用,并且特别提到了如何解决中文字符显示时出现的乱码问题。下面将对这些知识点进行详细的解读。 ### ...

    velocity 例子和文档

    Velocity是一个开源的Java模板引擎,它允许开发者将HTML与Java代码分离,使页面设计者和程序员可以协同工作,而无需关心彼此的代码。Velocity通过一个简单的语法,使得非程序员(如网页设计师)能够创建动态内容,而...

    velocity教程

    Velocity,作为Apache软件基金会的一个开源项目,是一个基于Java的模板引擎。它允许开发者将HTML页面的展示逻辑与应用逻辑分离,使得开发者可以专注于业务代码的编写,而设计师则可以专心于页面设计。Velocity的目标...

    Hibernate HQL 结合 velocity

    在这个例子中,`users.vm`是Velocity模板文件,其中可以使用`#foreach`循环遍历`users`列表,动态地显示用户信息。 **acon-pc-action.xml** 这个文件名可能是某种配置文件,可能包含关于应用程序如何处理请求或配置...

Global site tag (gtag.js) - Google Analytics