一、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,如果加上!的话,就会显示空白,这样才比较合理