Velocity的使用(下)

简介: Velocity的使用

二.二.五 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());
    }


e0e971afaf842156b6ef742ba90de8b7.png


三. 使用 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;
    }
}


89911c7851a699df5fa903fdef813680.png


生成的模板文件类:


5bc2f07622d30b1cd21bd7f2b8385607.png


本章节的代码放置在 github 上:


https://github.com/yuejianli/springboot/tree/develop/Velocity


谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!

相关文章
|
Java 索引
模板引擎Velocity
Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据 , 填充到模板中,从而实现界面和java代码的分离 !
|
Java Maven 索引
【模板引擎】velocity
【模板引擎】velocity
313 0
【模板引擎】velocity
|
Java Maven
|
JavaScript
Velocity ${} 、$!{}、!${}的区别
Velocity ${} 、$!{}、!${}的区别
|
数据安全/隐私保护 Java Maven
|
Java
Velocity初探小结--velocity使用语法详解
  做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上就完成了所有的业务逻辑代码,能够实用平台的API,这是jsp的一个优点,所谓物极必反,这一点在某些方面也成了它的一个缺点,内容和表示的界限变得很模糊,使得mvc分层不够彻底.
1525 0