Velocity的使用(上)

简介: Velocity的使用

一. Velocity 的介绍


Velocity 的官方网址: https://velocity.apache.org/


与 FreeMarker 一样,也是模板引擎。


二. Java 使用Velocity


二.一 前期准备


创建一个 Maven 项目, 在 pom.xml 中添加 依赖


 <dependencies>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>
        <!--测试junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!--lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.16</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.1</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>


9649ea7c0eecd33b5540b14e43fce186.png


二.二 模板开发


这儿不与 Web 进行关联,不采用页面展示, 采用控制台输出。


二.二.一 基本信息展示


二.二.一.一 基本信息模板 vm


创建 basic.vm 文件


## Velocity Hello World
<html>
<body>
    ## followed by
    Hello,我是你们的老朋友,${name}
    ## 放置读取的信息.
    #set($name="周小欢")
    #*
     如果同时设置的话,以 #set 为主。
    *#
    Hello,介绍一个新的朋友,${name}
    ## 放置普通的对象信息
    ${info.name} 的年龄是 ${info.age}
</body>
</html>


有基本的信息 name, 有对象的信息 info.name 和 info.age


可以通过 set 设置一个新的属性。


二.二.一.二 基本信息开发


    @Test
    public void basicFill() 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("basic.vm","utf-8");
        //5.设置变量
        VelocityContext root=new VelocityContext();
        root.put("name","岳泽霖");
        Map<String,Object> info=new HashMap<>();
        info.put("name","YJL");
        info.put("age",26);
        root.put("info",info);
        //6.进行合并,调用模板的 merge 方法, 将其进行填充。
        StringWriter stringWriter=new StringWriter();
        template.merge(root, stringWriter);
        System.out.println("输出信息值:"
        +stringWriter.toString());
    }


fe9ea90c293b56d271f6c158c9852c4f.png


二.二.二 If 条件语句 展示


二.二.二.一 If 条件语句 vm


创建 if.vm 文件


## 放置if
##  可以使用条件表达式,进行处理。
#if(${age}>120)
年龄输入错误
#end
你的性别是:
#if(${sex}=='男')
  男性
#else
   女性
#end
你的成绩是:
#if(${score}>90)
#elseif(${score}>80)
#elseif(${score}>70)
#elseif(${score}>60)
#else
#end


相关文章
|
6月前
|
测试技术
velocity语法小结
velocity语法小结
43 0
|
Java 索引
模板引擎Velocity
Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据 , 填充到模板中,从而实现界面和java代码的分离 !
|
Java Maven 索引
【模板引擎】velocity
【模板引擎】velocity
229 0
【模板引擎】velocity
|
JavaScript
Velocity ${} 、$!{}、!${}的区别
Velocity ${} 、$!{}、!${}的区别
|
数据安全/隐私保护 Java Maven