一、Velocity是什么

Velocity是一个基于Java的模板引擎,允许任何人仅仅简单地使用模板语言就可以引用由Java代码编写的对象。

二、Velocity的基本语法

1.变量

  • 变量的定义

    在Velocity中,变量的类型是弱类型的。
#set($name = 'xiaoqian');

当用#set指令的时候,#set命令后面的括号中的字面字符串将被解析和重新解释。

#set($begin = 'www');
#set($end = 'index.vm');
#set($all = "$begin/$end");

$all的值为www/index.vm

  • 变量规范的写法

    ${name},也可以写成$name,提倡前面一种写法。
tom is a last $nameline;//这种情况下Velocity不能识别出您到底要使用什么变量
tom is a last ${name}line;//用{}括起来就比较清晰

但是在引用属性的时候不要加{}

  • 变量的赋值

    赋值的变量左边必须是一个变量或者属性引用,右边可以是下面6种值之一。

    变量引用,字面字符串,属性引用,方法引用,字面数字,数组列表
#set($aa = $bb);
#set($aa.c = 'tomcat');

注意:

(1)如果上面例子的右边值为null,那么左值不会被赋值,会保留原来的值。

(2)Velocity模板中未被定义的变量将被认为是一个字符串

(3)Velocity模板不会将reference解释成对象的实例变量

2.循环

#foreach ($element in $list)
$VelocityCount
This is $element
#end //举例
#set($list = ['apple','pear','pink']);
#foreach ($element in $list)
$VelocityCount
This is $element

上面例子输出的是

1 This is apple

2 This is pear

3 This is pink

3.条件语句

#if(condition)
#elseif(condition)
#else
#end

4.语句的嵌套

#foreach ($element in $list)

#inner foreach

5.将不存在的变量或者变量的值为null强制显示为空白

$!name或者$!{name}

因为如果不在前面加上!,那么在变量不存在或者变量值为null的时候,就直接会显示原来的字符

举例:

$name,当name不存在的话,就直接会显示$name,如果加上!的话,就会显示空白,这样才比较合理

Velocity模板学习(一)的更多相关文章

  1. velocity模板引擎学习(4)-在standalone的java application中使用velocity及velocity-tools

    通常velocity是配合spring mvc之类的框架在web中使用,但velocity本身其实对运行环境没有过多的限制,在单独的java application中也可以独立使用,下面演示了利用ve ...

  2. velocity模板引擎学习(3)-异常处理

    按上回继续,前面写过一篇Spring MVC下的异常处理.及Spring MVC下的ajax异常处理,今天看下换成velocity模板引擎后,如何处理异常页面: 一.404错误.500错误 <e ...

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

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

  4. 《Velocity 模板使用指南》中文版[转]

    转自:http://blog.csdn.net/javafound/archive/2007/05/14/1607931.aspx <Velocity 模板使用指南>中文版 源文见 htt ...

  5. 使用Velocity 模板引擎快速生成代码

    Velocity 模板引擎介绍 在现今的软件开发过程中,软件开发人员将更多的精力投入在了重复的相似劳动中.特别是在如今特别流行的MVC架构模式中,软件各个层次的功能更加独立,同时代码的相似度也更加高. ...

  6. Velocity 模板

    Velocity 模板引擎介绍 引:https://www.ibm.com/developerworks/cn/java/j-lo-velocity1/ 在 现今的软件开发过程中,软件开发人员将更多的 ...

  7. velocity模板加载

    http://hi.baidu.com/ly_dayu/item/828b09c5c3c5e547a8ba9409 velocity使用基本来说比较简单,但在加载模板时老出问题,很多初学者经常会遇到找 ...

  8. Velocity模板引擎语法

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

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

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

随机推荐

  1. Django之前端插件定制之表头

    什么是插件? 插件只是辅助,是开发过程中的一个阶段.一般项目一期会用各种插件,迅速将功能.界面搭出来,二期时就改成自己的代码了.大点的公司都有自己的js库,自己开发类似jquery的库. 那接下来就写 ...

  2. 一键切图 PS 动作 【收藏】

    使用方法 一键切图动作.zip 1. 下载动作 2. 打开PS 动作 窗口,导入动作 3. 选中图层后 点击 F2 一键切图 详情看原文链接 原文链接

  3. python 并发爬虫的快感

    import time from tomorrow import threads from requests_html import HTMLSession session=HTMLSession() ...

  4. python redis-string、list、set操作

    string操作 redis中的string在内存中都是按照一个key对应一个value来存储的 方法: set() 方法 : 写入一条数据 mset() 方法: 写入多条数据 , 可是Key-Val ...

  5. LeetCode解题报告—— Best Time to Buy and Sell Stock

    Best Time to Buy and Sell Stock Say you have an array for which the ith element is the price of a gi ...

  6. CSU 1351 Tree Counting

    原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1351 DP题,毫无疑问.由于动态规划题目做得少.不熟悉,刚开始自己用f[i]表示用 i ...

  7. 免费的.NET混淆和反编译工具

    免费的.NET代码混淆工具: Eazfuscator.NET  http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/Default.as ...

  8. LoadRunner可以把关联取值当作检查点来使用

    在性能测试过程中,很多人都会想通过使用检查点来检查系统响应是否正常,LR的51Testing软件测试网E$S ]:x(d a6h.G \(y 检查点对“死”的,静态的 可以做到检查作业,但是对于动态时 ...

  9. 字符串处理strcpy strcat函数的用法

    C语言函数字符串处理strcpy strcat函数的用法: 1)strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串 ...

  10. LR字符串处理

    Action() { strchr和strrchr: //strchr:查找指定字符在一个字符串中第一次出现的位置,然后返回指向该位置的指针. //char *strchr(const char *s ...