velocity模板引擎快速入门

目录

一、概念

1、velocity简介

2、使用场景

二、快速入门

1、创建maven模块,引入依赖

2、在resources文件夹下创建vm软件包,创建test.vm测试,编写测试内容

3、核心测试代码

4、找到目录文件查看测试结果

三、VTL核心语法

1、注释

2、非解析内容

3、引用 

4、定义变量 

5、if判断

6、foreach遍历

7、后面还有引用等其它语法,我用不上就不介绍了,用到再自己去查


一、概念

1、velocity简介

Velocity是Apache软件基金会下的一个开源模板引擎项目。它旨在简化Java应用程序的开发,生成动态内容。Velocity提供了一种将数据与静态模板分离的机制,开发人员可以创建包含占位符的模板文件,并将变量和逻辑表达式嵌入到模板中。然后,通过将数据与模板结合,动态地替换占位符,生成最终的文本输出。

2、使用场景

代码生成、邮件短信、文章等

二、快速入门

1、创建maven模块,引入依赖

 <!--velocity代码生成使用模板 -->
         <dependency>
             <groupId>org.apache.velocity</groupId>
             <artifactId>velocity-engine-core</artifactId>
             <version>2.3</version>
         </dependency>
2、在resources文件夹下创建vm软件包,创建test.vm测试,编写测试内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

hello , ${name} !

</body>
</html>
3、核心测试代码
@Test
public void test1() throws IOException {
    //1-设置velocity资源加载器
    Properties prop = new Properties();
    prop.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
    //2-初始化加载器
    Velocity.init(prop);

    //3-创建Velocity容器,向容器内放入数据
    VelocityContext context = new VelocityContext();
    context.put("name", "会敲代码的七七");
    //4-加载静态模板,改成自己resourse下的目录
    Template tpl = Velocity.getTemplate("vm/test.vm", "UTF-8");
//5-输出结果,自己改输出文件路径 注意:以.html结尾,只有文件夹路径会报错,拒绝访问是盘符权限不够。
    FileWriter fw  = new FileWriter("E:\\velocity\\test.html");
    //6-合并数据到模板
    tpl.merge(context, fw);

    //7-释放资源
    fw.close();
}
4、找到目录文件查看测试结果

三、VTL核心语法

上面快速入门后,我们来了解下velocity的语法VTL,全称Velocity Template Language,是一种模板语言。

1、注释

了解个单行注释就够用了

单行注释:##                  

2、非解析内容

##不会将数据插入模板,相当于个字符串

#[[
${name}
]]#

3、引用 

##变量引用,从容器获取对象,$符号后面加个!调用失败后会返回空字符串

${字符串对象}

${对象.属性}

${对象.方法}

4、定义变量 

#set($str = "七七")
#set($map = {"key1":"value1", "key2":"value2"})

##调用map

${map.key1}

5、if判断

#if($test.equals("1"))
  1
#elseif($test.equals("2"))
   2
#else
  3
#end

6、foreach遍历

##遍历集合数组

#foreach($str in $hobbies)
    ${foreach.index} -- ${str}  <br>
#end

##遍历map两种方式
 #foreach($value in $map)
     $value
 #end


#foreach($entry in $map.entrySet())
    $entry.key -- $entry.value
#end
 

7、后面还有引用等其它语法,我用不上就不介绍了,用到再自己去查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值