Velocity 模版引擎 语法
来源:互联网 发布:广田集团员工待遇知乎 编辑:程序博客网 时间:2024/06/11 04:54
Velocity 模板引擎介绍
pom :
<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> </dependency>
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity 应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。
引入Velocity的发布包
从http://velocity.apache.org/网站上下载最新的Velocity,引入jar包。
Velocity基本语法
"#"用来标识Velocity的关键字,包括#set、#if 、#else、#end、#foreach、#end、#include、#parse、#macro等;
"$"用来标识Velocity的变量;如:$i
、$msg
、$TagUtil.options(...)
等。
"{}"用来明确标识Velocity变量;比如在页面中,页面中有一个$someonename
,此时,Velocity将把someonename作为变量名,若我们程序是想在someone这个变量的后面紧接着显示name字符,则上面的标签应该改成${someone}
name。
"!"用来强制把不存在的变量显示为空白。如:当找不到username
的时候,$username
返回字符串"$username
",而$!username
返回空字符串""
Velocity语法使用
一、变量定义
#set($name ="velocity")
等号后面的字符串 Velocity 引擎将重新解析,例如出现以$开始的字符串时,将做变量的替换。
二、变量赋值
#set($hello ="hello $name")
上面的这个等式将会给$hello赋值为"velocity"
三、循环
#foreach($element in $list) <span>$!element</span><br>#end
Velocity引擎会将list中的值循环赋给element变量
四、条件语句
条件语句的语法如下:
#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")'$var' ## 结果为:$var"$var" ## 结果为:hello
十、属性
通过'.'操作符使用变量内容
$Identifier.Identifier$user.name
- Velocity 模版引擎 语法
- Velocity模版引擎
- 模版引擎之Velocity
- Velocity模版引擎小例
- SpringMVC整合Velocity模版引擎
- Velocity 模版引擎的使用
- Velocity模板引擎语法
- velocity模板引擎基本语法
- Velocity模板引擎基础语法
- Velocity模板引擎基础语法
- velocity是一种Java模版引擎技术
- springboot如何使用velocity模版引擎
- Java模板引擎Velocity基本语法
- Velocity是一个基于Java的模版引擎
- [code generation]模版引擎比较_freemarker 和 velocity
- java模版引擎freemarker和velocity的对比
- 织梦动态模版引擎<标记语法>
- js 模版引擎jade使用语法
- zynq ps DDR3 SDRAM
- 1.1互联网思维
- HDU3836 Equivalent Sets :Tarjan缩点
- MSSQL 数字型数据的爆出
- Object类到底实现了哪些方法
- Velocity 模版引擎 语法
- POJ3177/BZOJ1718 Redundant Paths : Tarjan求桥+贪心
- java数据结构链表,堆栈,队列,串相关专题分析与扯谈-概述
- Laravel学习笔记(三)---Laravel 的核心, 服务容器,服务提供者
- 整型与字符型之间的转换
- 关于销售订单的状态
- 编写你的shell其实很简单
- vijos1769网络的关键边 Tarjan求桥
- cesiumjs学习笔记之二——空间数据可视化