velocity学习(2)
轉載自?http://blog.csdn.net/cpf2016/article/details/45565525
(1)基本語法
? ? ? ? ? ? 1.#
? ? ? ? ? ? ? ? ? ??對于Velocity中的關鍵字,都是使用#開頭的(想象手機上的#鍵,就是為了開啟某功能)。
? ? ? ? ? ? ? ? ? ? 如#set、#if、#else、#end、#foreach等
? ? ? ? ? ? ? ? ? ? 實例:
[html]?view plain?copy
? ? ? ? ? ? 2.$
? ? ? ? ? ? ? ? ? ??對于變量,都是使用$開頭的
? ? ? ? ? ? ? ? ? ? 如:$name、$msg
? ? ? ? ? ? 3.{}
? ? ? ? ? ? ? ? ? ??對于需要明確表示的Velocity變量,可以使用{}將變量包含起來
? ? ? ? ? ? ? ? ? ? 如在頁面中,需要有$someoneName這種內容,此時為了讓Velocity能夠區分,可以使用${someone}Name
? ? ? ? ? ? 4.!
? ? ? ? ? ? ? ? ? ??如果某個Velocity變量不存在,那么頁面中就會顯示$xxx的形式,為了避免這種形式,可以在變量名稱前加上!
? ? ? ? ? ? ? ? ? ? 如頁面中含有$msg,如果msg有值,將顯示msg的值;如果不存在就會顯示$msg。這是我們不希望看到的,為了把不存在的變量顯示為空白,可以使用$!msg
(2)變量
? ? ? ? ? ? 1.變量定義
? ? ? ? ? ? ? ? ? ?#set($name = "hello")
? ? ? ? ? ? ? ? ? ?例子:
[plain]?view plain?copy
? ? ? ? ? ?2.變量賦值
? ? ? ? ? ? ? ? ? ?$name = "hello"
? ? ? ? ? ? ? ? ? ?賦值的左邊必須是一個變量,或者是屬性的引用。右邊可以是:變量引用、字面字符串、屬性引用、方法引用、字面數字、數組
[plain]?view plain?copy
? ? ? ? ? ? ? ? ? $foo.Bar ? 等同于 $foo.getBar()
? ? ? ? ? ? ? ? ? $foo.User("join") ?等同于 $foo.getUser("join")
? ? ? ? ? ? ? ? ? $foo.Request.ServerName 等同于 $foo.getRequest().getServerName()
(2)循環
? ? ? ? ?1.格式與實例
? ? ? ? ? ? ? ? ? ? 格式為:[html]?view plain?copy
? ? ? ? ? ? ? ? ? ? 舉例
[plain]?view plain?copy
1 this is yes.
2 this is no.
3 this is not sure.
? ? ? ? ? ? ? ? ? ? ? 注意:$velocityCount是Velocity中定義的方法,用來獲得循環次數,直接調用即可
? ? ? ? 2.根據次數來循環
? ? ? ? ? ? ? ? ? ? 直接在原來集合位置定義數字范圍即可? ? ? ? ? ? ? ? ? ? 例1-正序:
[plain]?view plain?copy
this is 1.
this is 2.
this is 3.
this is 4.
this is 5.
? ? ? ? ? ? ? ? ? ? 例2-逆序:
[plain]?view plain?copy
this is 3.
this is 2.
this is 1.
this is 0.
this is -1.
this is -2
? ? ? ? ?3.遍歷map
? ? ? ? ? ? ? ? ? ? 使用entrySet,轉化為遍歷set即可[plain]?view plain?copy
1 : abc?
2 : bbc?
3 : cbc?
4 : dbc?
5 : ebc?
(3)條件語句
? ? ? ? ?1.格式
[plain]?view plain?copy? ? ? ? ??注意:判空為#if($foo)
? ? ? ? ? 2.實例
[html]?view plain?copy
(4)關系和邏輯操作符
? ? ? ? ?1.&&
[html]?view plain?copy? ? ? ? ?2.||
[plain]?view plain?copy
? ? ? ? ?3.!
? ? ? ? ? 和java相同,取反
(5)宏
? ? ? ? ?1.定義
[html]?view plain?copy
? ? ? ? ?2.調用
[html]?view plain?copy
? ? ? ? ? ? ? ? ? ?說明:參數之間用空格隔開
? ? ? ? ?3.實例
[html]?view plain?copy
[html]?view plain?copy
(6)調用實例方法
? ? ? ? ?1.定義
? ? ? ? ? ? ? ?如果context中存儲的是類實例,那么就可以調用類方法
? ? ? ? ?2.實例
? ? ? ? ? ? ? 方法 定義:
[java]?view plain?copy
[java]?view plain?copy
[html]?view plain?copy
(7)轉義字符'\'
? ? ? ? ?如果reference,2個'\'意味著輸出一個'\'
[plain]?view plain?copy
foo $mail \foo \$mail
(8)內置對象
? ? ? ? ?Velocity內置了一些對象,在vm中可以直接調用,如:$request,$response,$session
(9)注釋
? ? ? ? ?1.單行注釋##
[plain]?view plain?copy[plain]?view plain?copy
總結
以上是生活随笔為你收集整理的velocity学习(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven下载包慢解决
- 下一篇: iOS网络请求安全(JWT,RSA)