Velocity模板学习(一)
一、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模板学习(一)的更多相关文章
- velocity模板引擎学习(4)-在standalone的java application中使用velocity及velocity-tools
通常velocity是配合spring mvc之类的框架在web中使用,但velocity本身其实对运行环境没有过多的限制,在单独的java application中也可以独立使用,下面演示了利用ve ...
- velocity模板引擎学习(3)-异常处理
按上回继续,前面写过一篇Spring MVC下的异常处理.及Spring MVC下的ajax异常处理,今天看下换成velocity模板引擎后,如何处理异常页面: 一.404错误.500错误 <e ...
- 使用 Velocity 模板引擎快速生成代码(zhuan)
http://www.ibm.com/developerworks/cn/java/j-lo-velocity1/ ****************************************** ...
- 《Velocity 模板使用指南》中文版[转]
转自:http://blog.csdn.net/javafound/archive/2007/05/14/1607931.aspx <Velocity 模板使用指南>中文版 源文见 htt ...
- 使用Velocity 模板引擎快速生成代码
Velocity 模板引擎介绍 在现今的软件开发过程中,软件开发人员将更多的精力投入在了重复的相似劳动中.特别是在如今特别流行的MVC架构模式中,软件各个层次的功能更加独立,同时代码的相似度也更加高. ...
- Velocity 模板
Velocity 模板引擎介绍 引:https://www.ibm.com/developerworks/cn/java/j-lo-velocity1/ 在 现今的软件开发过程中,软件开发人员将更多的 ...
- velocity模板加载
http://hi.baidu.com/ly_dayu/item/828b09c5c3c5e547a8ba9409 velocity使用基本来说比较简单,但在加载模板时老出问题,很多初学者经常会遇到找 ...
- Velocity模板引擎语法
Velocity 模板引擎介绍 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java ...
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring 本文主要介绍利用JavaMailS ...
随机推荐
- Django之前端插件定制之表头
什么是插件? 插件只是辅助,是开发过程中的一个阶段.一般项目一期会用各种插件,迅速将功能.界面搭出来,二期时就改成自己的代码了.大点的公司都有自己的js库,自己开发类似jquery的库. 那接下来就写 ...
- 一键切图 PS 动作 【收藏】
使用方法 一键切图动作.zip 1. 下载动作 2. 打开PS 动作 窗口,导入动作 3. 选中图层后 点击 F2 一键切图 详情看原文链接 原文链接
- python 并发爬虫的快感
import time from tomorrow import threads from requests_html import HTMLSession session=HTMLSession() ...
- python redis-string、list、set操作
string操作 redis中的string在内存中都是按照一个key对应一个value来存储的 方法: set() 方法 : 写入一条数据 mset() 方法: 写入多条数据 , 可是Key-Val ...
- 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 ...
- CSU 1351 Tree Counting
原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1351 DP题,毫无疑问.由于动态规划题目做得少.不熟悉,刚开始自己用f[i]表示用 i ...
- 免费的.NET混淆和反编译工具
免费的.NET代码混淆工具: Eazfuscator.NET http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/Default.as ...
- LoadRunner可以把关联取值当作检查点来使用
在性能测试过程中,很多人都会想通过使用检查点来检查系统响应是否正常,LR的51Testing软件测试网E$S ]:x(d a6h.G \(y 检查点对“死”的,静态的 可以做到检查作业,但是对于动态时 ...
- 字符串处理strcpy strcat函数的用法
C语言函数字符串处理strcpy strcat函数的用法: 1)strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串 ...
- LR字符串处理
Action() { strchr和strrchr: //strchr:查找指定字符在一个字符串中第一次出现的位置,然后返回指向该位置的指针. //char *strchr(const char *s ...