日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

velocity 语法简记

發布時間:2023/12/10 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 语法简记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。