velocity的基础语法(一)
语法:
1,velocity 是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用
模板语言(template language)来引用由java 代码定义的对象。作为一个比较完善的模板引
擎,Velocity 的功能是比较强大的,但强大的同时也增加了应用复杂性。
2.“#” 用来标识Velocity 的脚本语句,包括#set,#if,#else,#end,#foreach,#end,#include,#macro等;
如:
#if($info.imgs)
<img src="$info.imgs" border=0>
#else
<img src="noPhoto.jpg">
#end
3.“$"用来标识一个对象(变量)
4.“{}”用来明确标识Velocity变量
5."!"用来强制把不存在的变量显示为空白
如当页面中包含$msg,如果msg 对象有值,将显示msg 的值,如果不存在msg 对象同,
则在页面中将显示$msg 字符。这是我们不希望的,为了把不存在的变量或变量值为null 的
对象显示为空白,则只需要在变量名前加一个“!”号即可。
如:$!msg
6.$!obj 直接返回对象结果
如:在html中 <p>$!msg</p>
7.#if($!obj)#else #end 判断语句
8.#foreach( $info in $list) $info.someList #end 循环读取集合list 中的对象,并作相
应的处理。
9.包含文件#inclue("模板文件名")或#parse("模板文件名")
主要用于处理具有相同内容的页面,比如每个网站的顶部或尾部内容
如:#parse("/blog/top.html")或#include("/blog/top.html")
parse 与include 的区别在于,若包含的文件中有Velocity 脚本标签,将会进一步解析,
而include 将原样显示。
10注释:
单行:## XXX
多行:#* XXX
XXX *#
11.变量:
以“$”开头,第一个字符必须为字母,变量可以包含的字符有以下内容:
alphabetic (a .. z, A .. Z)
numeric (0 .. 9)
hyphen ("")
underscore ("_")
12.双引号与引号
#set ($var="helo")
test"$var" 返回testhello
test'$var' 返回test'$var'
可以通过设置stringliterals.interpolate=false 改变默认处理方式
13.包含文件
#include( "one.gif","two.txt","three.htm")
14、Parse 导入脚本
#parse("me.vm" )
15、#stop 停止执行并返回