Velocity 是一个基于 Java 的模板引擎。

本博文演示 Velocity 的 HelloWord 以及分支条件。

HelloWord.vm,模板文件。

templateDemo.java, 演示 Velocity 模板引擎。

App.java, 应用的入口

在 Eclipse 上,基于 maven 管理工具,运行后目录结构如下

源代码只存在于 ./src/main 目录下面。target 目录为 maven 生成输出的目录,可做参考。test 目录为测试代码目录,此处可忽略。

grs:test grs$ pwd
/Users/grs/Documents/Java/mavenDemo/test
grs:test grs$ tree
.
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── tony
│   │   │   └── test
│   │   │   ├── App.java
│   │   │   └── TemplateDemo.java
│   │   └── resources
│   │   └── HelloWord.vm
│   └── test
│   └── java
│   └── tony
│   └── test
│   └── AppTest.java
└── target
├── classes
│   ├── HelloWord.vm
│   └── tony
│   └── test
│   ├── App.class
│   └── TemplateDemo.class
└── test-classes
└── tony
└── test
└── AppTest.class

具体代码

HelloWord.vm,模板文件

Hello $name ! wwwwww
---
#if($value == 1)
value is 1, name is $name
#else
value is not 1, name is $name
#end

TemplateDemo,演示代码。需要注意的是,获取当前目录时,指向的是当前项目的根目录路径,所以在查找模板文件 HelloWord.vm 时,路径也是从项目根目录开始查找。

package tony.test;

import java.io.File;
import java.io.StringWriter; import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine; public class TemplateDemo { public static void main(){ File file = new File(".");
System.out.println(file.getAbsolutePath()); try {
VelocityEngine ve = new VelocityEngine();
ve.init(); Template template = ve.getTemplate("./src/main/resources/HelloWord.vm"); VelocityContext context = new VelocityContext();
context.put("name", "TTTTT");
context.put("value", "1"); StringWriter writer = new StringWriter(); template.merge(context, writer); System.out.println(writer.toString()); } catch (Exception e) {
e.printStackTrace();
}
}
}

App 应用入口

package tony.test;

public class App
{
public static void main( String[] args )
{
TemplateDemo.main();
}
}

Eclipse 下的目录结构,以供参考

参考资料

Start up the Velocity Template Engine, javaWorld

Introduction to the Standard Directory Layout

[Java] 模板引擎 Velocity 随笔的更多相关文章

  1. OSCHina技术导向:Java模板引擎velocity

    OSChina 采用 velocity 作为页面模板 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template langua ...

  2. jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性

    新一代 Java 模板引擎,具有高性能和高扩展性. <!-- Jetbrick Template Engineer --> <dependency> <groupId&g ...

  3. Java 模板引擎 jetbrick-template

    jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 ...

  4. Java模板引擎 HTTL

    新一代java模板引擎典范 Beetl http://www.oschina.net/p/httl HTTL(Hyper-Text Template Language)是一个高性能的开源JAVA模板引 ...

  5. 模板引擎 Velocity

    模板引擎 Velocity 一.Velocity简介: Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template langu ...

  6. httl开源JAVA模板引擎,动态HTML页面输出

    HTTL(Hyper-Text Template Language)是一个适用于HTML输出的开源JAVA模板引擎,适用于动态HTML页面输出,可用于替代JSP页面,它的指令类似于Velocity. ...

  7. springboot:Java模板引擎Thymeleaf介绍

    Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎.类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用 ...

  8. 新一代Java模板引擎Thymeleaf

    新一代Java模板引擎Thymeleaf-spring,thymeleaf,springboot,java 相关文章-天码营 https://www.tianmaying.com/tutorial/u ...

  9. Thymeleaf(Java模板引擎)

    一.概念 1.Thymeleaf是Web和独立环境的开源的Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本:2.Thymeleaf可以在Web(基于Servlet)和 ...

随机推荐

  1. Linux字符串函数集

    //Linux字符串函数集: 头文件:string.h 函数名: strstr 函数原型:extern char *strstr(char *str1, char *str2); 功能:找出str2字 ...

  2. Linux开发工具之gcc

    一.gcc入门(上)   1.gcc相关概念   gcc(GNU C Compiler)编译器,最初支持C语言,现已支持C.C++.Java.Pascal.Ada.COBOL语言等:支持多种硬件平台: ...

  3. 5阻止A默认行为和JS实现页面跳转的方法

    <!--HTML中阻止A标签的默认行为: href="javascript:;" href="javascript:void 0;"--><! ...

  4. ie6-7 overflow:hidden失效问题的解决方法

    即使父元素设置了overflow:hidden.解决这个bug很简单,在父元素中使用position:relative; zoom: 1;触发haslayout 即可解决该BUG.

  5. ASP.NET实现文件下载

    转:http://blog.csdn.net/codeshark/article/details/2473664 方式一:TransmitFile实现下载.将指定的文件直接写入 HTTP 响应输出流, ...

  6. 关于margin-top失效的解决方法

    常出现两种情况:(一)margin-top失效 先看下面代码: <div><div class="box1" >float:left</div> ...

  7. js监听滚动条事件

    (function () { if(document.addEventListener){ document.addEventListener('mousewheel',scrollFunc,fals ...

  8. js性能优化--学习笔记

    <高性能网站建设进阶指南>: 1.使用局部变量,避免深入作用域查找,局部变量是读写速度最快的:把函数中使用次数超过一次的对象属性和数组存储为局部变量是一个好方法:比如for循环中的.len ...

  9. REST简介及设计原则

    rest,即REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性. 简介 REST (R ...

  10. fedora 安装nginx+php+mysql

    环境 fedora 最新版 20 参考:http://www.cnblogs.com/beceo/archive/2012/08/21/2648378.html ------------------- ...