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模板语法说明的更多相关文章

  1. Velocity模板引擎语法

    Velocity 模板引擎介绍 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java ...

  2. 【转载】Velocity模板引擎的介绍和基本的模板语言语法使用

    原文地址http://www.itzhai.com/the-introduction-of-the-velocity-template-engine-template-language-syntax- ...

  3. EL与Velocity基本语法总结:

    El(expression language): 基本语法点: $与{}搭配使用是常态取值 . 与[]的区别,后者可以取特殊值:- .等 支持一些基本的逻辑运算: && || > ...

  4. velocity模板引擎学习(1)

    velocity与freemaker.jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,(注:castle团队在gith ...

  5. Velocity 基本语法

    Velocity 基本语法 Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上.Velocity 是 Apache 基金会的项目,开发的目 ...

  6. java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板

    java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring   本文主要介绍利用JavaMailS ...

  7. Velocity模板引擎入门

    类似于PHP中的Smarty,Velocity是一个基于Java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代 ...

  8. 使用 Velocity 模板引擎快速生成代码(zhuan)

    http://www.ibm.com/developerworks/cn/java/j-lo-velocity1/ ****************************************** ...

  9. 转 velocity 模板使用总结

    Velocity是一个基于java的模板引擎.它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一 ...

随机推荐

  1. E20180601-hm

    trade-off n. 权衡; 交易;(不是商业方面的交易,而是“利”与“弊”的权衡) vertex n. 顶点; 最高点; <数>(三角形.圆锥体等与底相对的)顶; (三角形.多边形等 ...

  2. SQL 语句(原生)

    //查 //查询表里的所有数据 select * from 表名 //根据id等字段查询数据 select * from 表名 where 字段 = 值 or 字段 = 值 (例):select * ...

  3. opencv3.1 压缩并拼图

    必须有重叠才能拼,压缩越多,拼接越快 #include <opencv2\opencv.hpp> #include <opencv2\stitching.hpp> using ...

  4. unity5之代码创建状态机,玩的666

    http://blog.csdn.net/litaog00/article/details/50483189 最近做项目的时候用到了状态机,网上搜了一下帖子,大部分都是简单介绍使用方法的,讲解的详细的 ...

  5. js 判断当前操作系统 ios, android, 电脑端

    一 .   js判断移动端的操作系统(ios或Android) $(function () { var u = navigator.userAgent; var isAndroid = u.index ...

  6. 洛谷P3603 || bzoj 4763 雪辉 && bzoj4812: [Ynoi2017]由乃打扑克

    https://www.luogu.org/problemnew/show/P3603 https://www.lydsy.com/JudgeOnline/problem.php?id=4763 就是 ...

  7. 通过API获取统计信息时报Access denied错误处理记录

    通过API获取HDFS统计信息时报Access denied错误信息,错误信息如下: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.s ...

  8. Java中 Collection 、 List 、 Set 、 Map详解

    一.容器( Collection ) 接口    容器( Collection )是最基本的集合接口,一个容器( Collection )保存一组对象( Object ),即对象是容器的元素( Ele ...

  9. 打包google浏览器插件到本地

    依次打开‘更多工具’--->'扩展程序',或者在google浏览器输入chrome://extensions/网址就可以打开已安装插件页面,在顶部选中‘开发者模式’后就会出现每个插件的ID,这个 ...

  10. 牛客网Java刷题知识点之线程的几种可用状态(新建、可运行、运行、阻塞、死亡)

    不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=13 ...