velocity 学习之HelloWorld

Velocity是一个基于Java的模板引擎。它允许任何人使用简单而强大的模板语言来引用Java代码中定义的对象。
当Velocity用于Web开发时,Web设计人员可以与Java程序员并行工作,以根据模型 - 视图 - 控制器(MVC)模型开发Web站点,这意味着网页设计人员可以专注于创建一个看起来很好的站点,程序员可以专注于编写一流的代码。
Velocity将Java代码与网页分开,使网站在其生命周期内更加可维护,并为
Java Server Pages(JSP)或PHP提供了可行的替代方案。Velocity的功能远远超出了网络的范围;
例如,它可以用于从模板生成SQL,PostScript和XML。
它可以用作生成源代码和报告的独立实用程序,也可以用作其他系统的集成组件。
例如,Velocity为各种Web框架提供模板服务,使他们能够根据真正的MVC模型,使视图引擎促进Web应用程序的开发。
摘自官方文档(http://velocity.apache.org/engine/devel/overview.html)
官方文档很详细,可以根据官方文档进行学习

  • HelloWorld

  • 首先创建java 工程(这里使用maven 创建工程,具体可参考:http://www.jianshu.com/p/db35bce41b17)
    velocity 学习之HelloWorld_第1张图片
    1
  • 引入velocity依赖。在pom.xml文件中添加以下依赖
        
            org.apache.velocity
            velocity
            1.7
        
  • 在resource目录下新建hellovelocity.vm 文件 ,并编写内容,如下
2

hellovellocity.vm

hello ${name} 
  • 创建HelloVelocity.java结构如 1 图所示
    HelloVelocity.java具体代码
package cn.test01;

import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;

import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;

public class HelloVelocity {
    
    public static void main(String[] args) {
        // 初始化模板引擎
        VelocityEngine ve = new VelocityEngine();
        ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
        ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
        ve.init();
        // 获取模板文件
        Template template = ve.getTemplate("hellovelocity.vm");
        VelocityContext velocityContext = new VelocityContext();
         // 设置变量
        velocityContext.put("name", "zhangsan");
        // 输出
        StringWriter sw = new StringWriter();
        t.merge(velocityContext,sw);
        System.out.println(sw.toString());
    }
}
  • run as ....控制台打印结果
    hello zhangsan

总结:velocity模板引擎的学习,主要在于VTL语句,也就是如何编写vm 文件,具体可参考:http://blog.csdn.net/nengyu/article/details/6671904
http://velocity.apache.org/engine/devel/user-guide.html#about-this-guide

你可能感兴趣的:(velocity 学习之HelloWorld)