主要记录vm的配置及使用语法
一、与Struts2的的集成
在pom.xml文件配置
<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> </dependency>
二、定量显示变量
2.1#开头---控制符号
#set($变量名='xx') 定义变量
2.2$开头---显示符号
$变量名 显示变量
三、遍历数组(数组:$list,索引变量:$velocityCount)
#foreach($item in $list) $velocityCount.$item #end
四、遍历HashTable
#foreach($key in $table.keySet()) $key -> $table.get($key) #end
五、判断是否为空
5.1判断单个对象$obj
#if($(obj)) #if(!$(obj)) 不为空 不为空 #else #else 为空 为空 #end #end
5.2判断集合$datalist,对象obj
#if($null.isNull($datalist.obj) || $datalist.obj.size()==0) 集合空 #else #foreach($obj in $datalist.obj) #velocityCount:$obj.属性 #end #end
六、宏---定义一个宏相当于定义一个子函数
#macro(宏名称-renderdata $参数-datalist) 对datalist里的obj进行操作代码... #end #renderdata($datalist.obj)
七、数值、日期格式化
7.1数值
7.1.1数字
$number.format('0.00',$obj.amounts)
7.1.2货币格式
$number.format("currency", $agentBillDto.feeTotal)
7.2日期
7.2.1获取当前年月日
$date.year $date.month $date.day
7.2.2设置年月日格式
$date.format('yyyy-MM-dd HH:mm:ss',$obj.createTime,$locale) $date.format('MMM,dd',$obj.createTime,$convert.toLocale("en_US"))
7.3使用配置
在struts.xml加入
<constant name="struts.velocity.toolboxlocation" value="WEB-INF/classes/toolbox.xml" />
八、include、parse实现布局模块化
8.1语法
#parse("template/xxx.vm") #include("template/xxx.vm")
8.2区别
include只导入文件,不解析vm语法
parse导入文件,也会解析vm语法(定义变量、定义宏...)
8.3加载路径
被包含的.vm文件放到/WEB-INF/classes目录下即可
例子中xxx.vm放在/WEB-INF/classes/template下