二.二.五 include 包含文件
二.二.五.一 include 文件 vm
创建 foot.vm
<hr> <i> Copyright (c) 2000 <a href="top.yueshushu.com">yueshushu_top</a>, <br> All Rights Reserved. </i>
创建 footInclude.vm
<html> <head> <title>Include page</title> </head> <body> <h1>Include page</h1> <p> ## -- 放置进去, #include 填充进去。 #include 填充进去。 谢谢您来关注我: ${name} #include ("foot.vm") </body> </html>
二.二.五.二 include 开发
@Test public void includeFillTest()throws Exception{ //1. 创建模板引擎 VelocityEngine velocityEngine=new VelocityEngine(); //2. 设置属性 velocityEngine.setProperty( RuntimeConstants.RESOURCE_LOADER,"classpath" ); velocityEngine.setProperty( "classpath.resource.loader.class", ClasspathResourceLoader.class.getName() ); //3. 进行初始化 velocityEngine.init(); //4.获取对应的模板信息 Template template=velocityEngine.getTemplate("footInclude.vm"); //5. 构建 VelocityContext 对象,里面放置内容 Map<String,Object> root=new HashMap<>(); root.put("name","两个蝴蝶飞"); VelocityContext velocityContext=new VelocityContext(root); //6. 找到StringWriter对象,进行合并 StringWriter stringWriter=new StringWriter(); template.merge(velocityContext,stringWriter); System.out.println("输出信息:"+stringWriter.toString()); }
三. 使用 Velocity 配置模板文件
可以使用 Velocity 的配置文件, 通过往模板里面填充属性,来创建特定的文件。
如生成一个基本的 Main 类
三.一 模板 vm
package ${packageName}; /** @author: ${author} @Date: ${createDate} @Description: ${classDescription} */ public class ${className}{ /** 功能描述: ${mainMethodDesc} */ public static void main(String []args){ System.out.println("${info}"); } }
三.二 模板类创建
public class MainTests { @Test public void mainTests() throws Exception{ //1. 初始化模板引擎 VelocityEngine ve=new VelocityEngine(); //2. 设置相应的属性信息 ve.setProperty(RuntimeConstants.RESOURCE_LOADER,"classpath"); ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader .class.getName()); //3. 进行初始化 ve.init(); //4.获取模板文件 Template template=ve.getTemplate("main.vm","utf-8"); //5.设置变量 Map<String,Object> root=getMainMap(); VelocityContext velocityContext=new VelocityContext(root); //6.进行处理,发送到模板文件里面。 PrintWriter printWriter=new PrintWriter("src\\main\\java\\com\\zk\\velocity\\VelocityMain.java"); template.merge(velocityContext,printWriter); //刷新并关闭 printWriter.flush(); printWriter.close(); System.out.println("生成文件成功"); } private Map<String,Object> getMainMap() { Map<String,Object> root=new HashMap<>(); root.put("packageName","com.zk.velocity"); root.put("author","zk"); root.put("createDate",new Date()); root.put("classDescription","一个测试Velocity 自动生成类"); root.put("className","VelocityMain"); root.put("mainMethodDesc","一个普通的测试方法"); root.put("info","Velocity 创建类生成信息"); return root; } }
生成的模板文件类:
本章节的代码放置在 github 上:
https://github.com/yuejianli/springboot/tree/develop/Velocity
谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!