"#"用來標識velocity的關鍵字,包括#set、#if 、#else、#end、#foreach、#end、#include、#parse、#macro等;
"$"用來標識velocity的變數;如:$i
、$msg
、$tagutil.options(...)
等。
"{}"用來明確標識velocity變數;比如在頁面中,頁面中有乙個$someonename
,此時,velocity將把someonename作為變數名,若我們程式是想在someone這個變數的後面緊接著顯示name字元,則上面的標籤應該改成$
name。
"!"用來強制把不存在的變數顯示為空白。如:當找不到username
的時候,$username
返回字串"$username
",而$!username
返回空字串"
一、變數定義
#set($name ="velocity")等號後面的字串 velocity 引擎將重新解析,例如出現以$開始的字串時,將做變數的替換。
二、變數賦值
#set($hello ="hello $name")上面的這個等式將會給$hello賦值為"velocity"
三、迴圈
#foreach($element in $list)velocity引擎會將list中的值迴圈賦給element變數$!element
#end
四、條件語句
條件語句的語法如下:
#if(condition)五、關係操作符...#elseif(condition)
…#else
…#end
velocity引擎提供了and、or和not操作符,分別對應&&、||和!例如:
#if($foo && $bar)六、巨集...#end
velocity中的巨集可以理解為函式定義。定義的語法如下:
#macro(macroname arg1 arg2 ...)呼叫這個巨集的語法是:...#end
#macroname(arg1 arg2 ...)這裡的引數之間使用空格隔開,下面是定義和使用velocity巨集的例子:
#macro(sayhello $name)輸出的結果為hello velocityhello $name
#end
#sayhello("velocity")
七、#parse 和 #include
#parse和#include指令的功能都是在外部引用檔案,而兩者的區別是,#parse會將引用的內容當成類似於原始碼檔案,會將內容在引入的地方進行解析,#include 是將引入檔案當成資源檔案,會將引入內容原封不動地以文字輸出。分別看以下例子:
foo.vm檔案:
#set($name = "velocity")parse.vm:
#parse("foo.vm")輸出結果為:velocity
include.vm:
#include("foo.vm")輸出結果為:#set($name = "velocity")
八、注釋
單行注釋
##單行注釋多行注釋
#*九、單雙引號多行注釋
*#
單引號不解析引用內容,雙引號解析引用內容
#set ($var="hello")十、屬性'$var' ## 結果為:$var
"$var" ## 結果為:hello
通過'.'操作符使用變數內容
$identifier.identifier$user.name
Velocity郵件模板
新增以下模板工具類 public class velocityutil if collectionutil.isempty params properties properties new properties properties.setproperty resource.loader class...
Velocity學習(二)之語法
在 hellovelocity.vm 裡面可以看到很多以 和 符開頭的內容,這些都是 velocity 的語法,在 velocity 中所有的關鍵字都是以 開頭的,而所有的變數則是以 開頭。set name velocity 等號後面的字串 velocity 引擎將重新解析,例如出現以 開始的字串時...
Struts與Velocity模板引擎整合
第 2 步 修改 web.xml,讓它識別 velocity 的 servlet 下一步是修改 struts 的 web.xml 檔案,讓它識別 velocity 的 servlet 並把所有以 vm 結尾的資源請求定向到 velocity servlet,如 修改 web.xml,宣告 veloc...