这里有一些我工作中用到的volicity和在网上找的感觉比较有用的。在这里保存一下。希望能帮到自己和需要的人
问题1:若返回的的字段是一个数组,我想获得数组的第一个值展示。那么我们可以用这个数组.get(index)方法实现
答: $!array = [1,2,3,4,5]; //我们想展示1,就可以 ; $!array.get(0);
1.变量声明 #set()
| eg:#set($name=name);这里的变量只能$ 不能$! .除此以外变量最好是$!name的;因为如果内容为空时$!name不显示。$name 的会显示出来。
2.判断语句#if()#elseif()#else#end 注:写法跟js中的if没有什么区别。
| eg:#if($!name=='小明')
<div style='width:100px;height:100px;background:red;'></div>
#elseif($!name=='小红')
<div style='width:100px;height:100px;background:yellow;'></div>
#else
<div style='width:100px;height:100px;background:green;'></div>
#end
3.循环语句:#foreach($var in $arrays )// 集合包含下面三种Vector, a Hashtable or an Array#end
#foreach( $product in $allProducts ) <li>$product</li> #end #foreach( $key in $allProducts.keySet() ) <li>Key: $key -> Value: $allProducts.get($key)</li> #end #foreach( $customer in $customerList ) <tr><td>$velocityCount</td><td>$customer.Name</td></tr> #end
4.时间格式:$!dateUtil.format($!time,'yyyy-MM-dd HH:mm:ss')
解释: 时间参数,时间格式(自定义)
问题:最好是后端给处理一下,不然好像是不好用。我用的时候是后端处理了我这么写才好用的
5.插入代码:#parse('b.vm') #include
解释:可以在指定位置插入b.vm代码。b.vm可以共用父元素的变量。
与#include不同的是,#parse只能指定单个对象。而#include可以有多个
如果需要引入多个文件,可以用逗号分隔就行:
#include ("one.gif", "two.txt", "three.htm" )
在括号内可以是文件名,但是更多的时候是使用变量的:
#include ( “greetings.txt”, $seasonalstock )
(2) #include被引入文件的内容将不会通过模板引擎解析;
而#parse引入的文件内容Velocity将解析其中的velocity语法并移交给模板,意思就是说相当与把引入的文件copy到文件中。
#parse是可以递归调用的。
上面的几个是我工作中用到的下面的是我查找的。
6.动态执行字符串的值:#evaluate( 'abc #if(true)def#end' )
解释:以为没有用里面能执行if语句。感觉很强大。
7.不解析执行的内容:#[[ * * ]]#
解释:你想不解析直接输出某一块模板时候可以使用
8.获取url中的参数#set($n = $!request.getParameter('n'));
解释:感觉不怎么对呢。用的时候要借鉴一下别人的,以后再来改吧
9.语句注释
单行注释:## 单行注释代码
多行注释:#* 多行注释代码 *#
留坑=================================