Velocity模板引擎语法

Velocity模板引擎语法

Velocity 模板引擎介绍

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity 应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。

SpringBoot 集成

pom.xml

<!--VELOCITY-->
      <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>${velocity.version}</version>
      </dependency>

Velocity基本语法

"#"用来标识Velocity的关键字,包括#set、#if 、#else、#end、#foreach、#end、#include、#parse、#macro等;

$ 用来标识Velocity的变量;如: i 、 i、 imsg、$TagUtil.options(…)等。

"{}"用来明确标识Velocity变量;比如在页面中,页面中有一个 s o m e o n e n a m e , 此 时 , V e l o c i t y 将 把 s o m e o n e n a m e 作 为 变 量 名 , 若 我 们 程 序 是 想 在 s o m e o n e 这 个 变 量 的 后 面 紧 接 着 显 示 n a m e 字 符 , 则 上 面 的 标 签 应 该 改 成 someonename,此时,Velocity将把someonename作为变量名,若我们程序是想在someone这个变量的后面紧接着显示name字符,则上面的标签应该改成 someonenameVelocitysomeonenamesomeonename{someone}name。

“!“用来强制把不存在的变量显示为空白。如:当找不到username的时候, u s e r n a m e 返 回 字 符 串 " username返回字符串" username"username”,而$!username返回空字符串”"

Velocity语法使用

一、变量定义

#set( n a m e = " v e l o c i t y " ) 等 号 后 面 的 字 符 串 V e l o c i t y 引 擎 将 重 新 解 析 , 例 如 出 现 以 name ="velocity") 等号后面的字符串 Velocity 引擎将重新解析,例如出现以 name="velocity")Velocity开始的字符串时,将做变量的替换。

二、变量赋值

#set($hello =“hello n a m e " ) 上 面 的 这 个 等 式 将 会 给 name") 上面的这个等式将会给 name")hello赋值为"velocity”

三、循环

#foreach($element in l i s t ) < s p a n > list) <span> list)<span>!element

#end
Velocity引擎会将list中的值循环赋给element变量

<h1>对象for循环</h1>
    <table border="1">
        <tr><td>编号</td><td>姓名</td><td>年龄</td></tr>
        #foreach($!people in $!peopleList)
            <tr>
                <td>$!people.id</td>
                <td>$!people.name</td>
                <td>$!people.age</td>
            </tr>
        #end
    </table>
    <h1>map集合for循环</h1>
    <table border="1">
        <tr><td>编号</td><td>姓名</td><td>年龄</td></tr>
        #foreach($!people in $!peopleMap.keySet())
            <tr>
                <td>$!peopleMap.get($people).id</td>
                <td>$!peopleMap.get($people).name</td>
                <td>$!peopleMap.get($people).age</td>
            </tr>
        #end
    </table>

四、条件语句

条件语句的语法如下:
#if(condition)

#elseif(condition)

#else

#end

五、关系操作符

Velocity引擎提供了AND、OR和NOT操作符,分别对应&&、||和!例如:
#if($foo && $bar)

#end

六、宏

Velocity中的宏可以理解为函数定义。定义的语法如下:

#macro(macroName arg1 arg2 …) …
#end 调用这个宏的语法是:

#macroName(arg1 arg2 …) 这里的参数之间使用空格隔开,下面是定义和使用Velocity宏的例子:

#macro(sayHello $name)
hello $name
#end

#sayHello(“velocity”) 输出的结果为hello velocity

七、#parse 和 #include

#parse和#include指令的功能都是在外部引用文件,而两者的区别是,#parse会将引用的内容当成类似于源码文件,会将内容在引入的地方进行解析,#include
是将引入文件当成资源文件,会将引入内容原封不动地以文本输出。分别看以下例子:

foo.vm文件:

#set($name = “velocity”) parse.vm:

#parse(“foo.vm”) 输出结果为:velocity

include.vm:

#include(“foo.vm”) 输出结果为:#set($name = “velocity”)

八、注释

单行注释

##单行注释

多行注释

#*
多行注释
*#

九、单双引号

单引号不解析引用内容,双引号解析引用内容

#set ($var=“hello”)

'KaTeX parse error: Expected 'EOF', got '#' at position 7: var' #̲# 结果为:var “$var” ## 结果为:hello

十、属性

通过’.'操作符使用变量内容

$Identifier.Identifier
$user.name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值