java vm模板_[Java] 模板引擎 Velocity 随笔

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 时,路径也是从项目根目录开始查找。

packagetony.test;importjava.io.File;importjava.io.StringWriter;importorg.apache.velocity.Template;importorg.apache.velocity.VelocityContext;importorg.apache.velocity.app.VelocityEngine;public classTemplateDemo {public static voidmain(){

File file= new File(".");

System.out.println(file.getAbsolutePath());try{

VelocityEngine ve= newVelocityEngine();

ve.init();

Template template= ve.getTemplate("./src/main/resources/HelloWord.vm");

VelocityContext context= newVelocityContext();

context.put("name", "TTTTT");

context.put("value", "1");

StringWriter writer= newStringWriter();

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 下的目录结构,以供参考

40c77dd5a3fb0699d1b771fdfe4f69b0.png

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值