在struts中使用vm模板.找到了velocity的语法说明,很简单
一,变量定义
因为是一种弱类型语言,所以不用定义变量的类型,编译器根据赋值的类型自动进行判断,定义的关键字
为set,set前要加#,变量名前必须加$,变量名和值的组合要放在小括号中,不必用分号结束语句。例如:
#set($maxValue=5)
#set($name="Bob")
也可以定义数组,形式如下:
#set($arrayName=["element1","element2",...])
例如:#set($members=["mary","rose","Mr Black"])
二,注释
对单行注释,形式如下:
#set($name="mike") ##这是一个注释:定义名字为mike
对多行注释,形式如下:
#set($name="mike")
#*
这是一个多行注释:定义名字为mike,
如果定义为其他的,不符合用户习惯!
*#
三,流程控制
支持的流程控制有:#if...#else...#end(逻辑判断语句)和#foreach(... in ...)...#end(循环语句),可以嵌套使用。例如:if的例子
<table>
<tr>
<td>
#set($name="mary")
#set($sex="female")
#set($age=20)
#set($coutry="America")
#if($name=="mary")
hello mary!<br>
#end
#if($sex=="male")
You are a boy!<br>
#else
You are a girl!<br>
#end
#if($age<12)
You are too young!<br>
#elseif($age>12 && $age<18)
You are not an adult!<br>
#else
You are an adult!<br>
#end
#if($country!="China")
#if($country=="Amemica")
You are from America!<br>
#end
#else
#if($city=="Beijing")
You are from Beijing!<br>
#else
You are not from Beijing!<br>
#end
#end
</td>
</tr>
</table>
例如:foreach的例子
<table>
<tr>
<td>
#set($members=["mary","rose","mike"])
#foreach($member in $members)
$member<br>
#end
</td>
</tr>
</table>
另外,foreach循环不仅可以显示数组内容,也可以显示java的Vector、List、Iterator等对象的内容,