velocity 语法简记
生活随笔
收集整理的這篇文章主要介紹了
velocity 语法简记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? 前幾天接觸了一個相對老一些的項目,渲染模板用的velocity,之前并沒有接觸過這個模板,所以也難免踩了踩坑,現在把頁面上用到的一些語法總結一下,包括if、for、set等,希望可以給同道中人帶來一點點幫助。
? ? ? ? 說明:velocity使用#作為關鍵符號,訪問后臺傳過來的數據時使用$進行訪問,例如:后臺modelAndView.addObject("module","abc"),前臺使用$module就可以獲取到module的內容。
后臺代碼:
@RequestMapping("/") public ModelAndView index(){List<String> dataList = new ArrayList<>();dataList.add("第一個");dataList.add("第二個");dataList.add("第三個");ModelAndView mv = new ModelAndView("page/index");mv.addObject("dataList", dataList);mv.addObject("tempFlag", 1);return mv; }獲取map的值
${dataMap.get('key')}
if語法
使用格式:#if...#end、 #if...#else...#end、 #if...#elseif....#else...#end
例子:
#if($tempFlag && $tempFlag=0) <p>這是一個內容</p> #else <p>這是另一個內容 #end? ?注意:#if與(沒有空格,要緊挨著。
set語法
使用格式:#set($變量名=xxx),定義之后,就可以在頁面中使用$變量名了
例如:#set($currentTemp = $tempFlag)
? ? ? ? ? ? 這句就是把后臺傳過來的tempFlag的值賦給了新變量currentTemp,定義之后就可以直接在頁面中使用$currentTemp了。
注意:如果需要用到加減乘除符號時,符號兩邊必須要加空格。例如:
#set($index = $index + 1)for語法
使用格式:#for($變量 in?集合)
例如:
#if($dataList && $dataList.size() > 0)#foreach($item in $dataList)<p>$item</p>#end#end備注: #if判斷的意義是判斷dataList是否存在,并且不是空集合
這種場景就是最基礎的直接把集合的內容循環出來,還有另一種場景,前幾個數據用一種樣式展示,后幾個數據用另一種樣式展示,代碼如下圖所示。
#if($dataList && $dataList.size() > 0)#set($index=0)<div class="fourLine">#foreach($item in $dataList)#if($index < 4)<p> $item </p>#set($index = $index + 1)#else#break#end#end</div>#if($dataList.size() > 4)#set($endIndex = $dataList.size() - 1)<div class="fourLine">#foreach($temp in [4..$endIndex])#set($currentData=$dataList.get($temp))<h1>$currentData</h1>#end</div>#end#end知識點:#break退出for循環,繼續執行for后面的語句。
基本上就是這些了,歡迎大家多多指教!
總結
以上是生活随笔為你收集整理的velocity 语法简记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 响应式网格项目动画布局_响应式网格及其实
- 下一篇: Grasshopper学习手册第二版资源