Velocity是一个基于Java的模板引擎,可以通过特定的语法获取java对象的数据 , 填充到模板中,从而实现界面和java代码的分离 !
通过这个模板引擎可以帮助我们减轻很多重复性代码的编写
常见的应用场景:
- Web应用程序 : 作为为应用程序的视图, 展示数据。
- 源代码生成 : Velocity可用于基于模板生成Java源代码。
- 自动电子邮件 : 网站注册 , 认证等的电子邮件模板。
- 网页静态化 : 基于velocity模板 , 生成静态网页。
下面我来简单实现一下
包含Velocity模板语法的HTML示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>velocity快速入门</title>
</head>
<body>
<h3>心怀梦想,坚持不懈,成功即在前方。${message}</h3>
</body>
</html>
VelocityDemoTest Java 示例代码
public class VelocityDemoTest {
public static void main(String[] args) throws IOException {
// 1. 初始化模板引擎
Properties p = new Properties();
// 表示告诉我们去哪一个类下找对应的模板资源文件
p.setProperty("resource.loader.file.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
// 定义字符集
p.setProperty("input.encoding", "UTF-8");
Velocity.init(p);
// 2. 获取对应的模板文件
Template template = Velocity.getTemplate("vms/index.html.vm", "UTF-8");
// 3. 指定输出位置
FileWriter fileWriter = new FileWriter("xxxx-generator\\src\\main\\resources\\index.html");
/**
* 4. 合并模板和数据
* context: 数据
* template: 模板
* fileWriter: 输出位置
*/
VelocityContext context = new VelocityContext();
context.put("message", "加油兄弟");
template.merge(context, fileWriter);
// 5. 关闭流
fileWriter.close();
}
}

Comments NOTHING