Velocity模板语法说明
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是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java ...
- 【转载】Velocity模板引擎的介绍和基本的模板语言语法使用
原文地址http://www.itzhai.com/the-introduction-of-the-velocity-template-engine-template-language-syntax- ...
- EL与Velocity基本语法总结:
El(expression language): 基本语法点: $与{}搭配使用是常态取值 . 与[]的区别,后者可以取特殊值:- .等 支持一些基本的逻辑运算: && || > ...
- velocity模板引擎学习(1)
velocity与freemaker.jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,(注:castle团队在gith ...
- Velocity 基本语法
Velocity 基本语法 Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上.Velocity 是 Apache 基金会的项目,开发的目 ...
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring 本文主要介绍利用JavaMailS ...
- Velocity模板引擎入门
类似于PHP中的Smarty,Velocity是一个基于Java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代 ...
- 使用 Velocity 模板引擎快速生成代码(zhuan)
http://www.ibm.com/developerworks/cn/java/j-lo-velocity1/ ****************************************** ...
- 转 velocity 模板使用总结
Velocity是一个基于java的模板引擎.它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一 ...
随机推荐
- django使用QQ企业邮箱发送邮件
一.首先申请QQ企业邮箱 免费QQ企业邮箱地址如下:https://exmail.qq.com/signupfree?refer=intro#signup/free 二.配置自己的域名 在域名解析中添 ...
- 51nod1086(多重背包&二進制)
題目鏈接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1086 題意:中文題誒- 思路:很顯然這是一道多重背包題,不過這 ...
- bzoj3771: Triple(容斥+生成函数+FFT)
传送门 咳咳忘了容斥了-- 设\(A(x)\)为斧头的生成函数,其中第\(x^i\)项的系数为价值为\(i\)的斧头个数,那么\(A(x)+A^2(x)+A^3(x)\)就是答案(于是信心满满的打了一 ...
- shell 截取字符串(转)
linux中对字符串的处理: 1.字符串分割例如 AAAAA-BBBBBB 按-分割去前后两部分 cut : [rich@localhost ~]$ str=AAAAA-BBBBBB[rich@l ...
- 码云最火爆开源项目 TOP 50,你都用过哪些?
前 20 名预览 排名软件排名软件 1zheng11AOSuite 2JFinal12Spiderman 3t-io13AG-Admin 4guns14renren-security 5hutool1 ...
- 黑马tomact学习一 tomcat下载 安装和卸载
- 洛谷1537(bitset+01背包)
总数是偶数并且其一半可得即可. bitset的移位可替代原本的数组转移. #pragma comment(linker, "/STACK:1024000000,1024000000" ...
- UVa12716:gcd等于xor(打表+类素数筛+差分约束)
紫书给的分析缺少一些证明性的东西,将我自己的OneNote笔记贴在这里.
- Jenkins之发布报错“error: RPC failed; curl 18 transfer closed with outstanding read data remaining”
报错信息: error: RPC failed; curl transfer closed with outstanding read data remaining fatal: The remote ...
- 74HC14D(6反向施密特触发器)
74HC14D:6反向施密特触发器:延迟特性,反向特性,整形特点. 施密特触发器是具有特殊功能的非门,当加在它的输入端A的电压逐渐上升到某个值时(正阈值电压),输出端Y会突然从高电平跳到低电平,而当输 ...