Velocity模板語法說明

2022-07-17 08:30:13 字數 2242 閱讀 5291

"#"用來標識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) 

$!element

#end

velocity引擎會將list中的值迴圈賦給element變數

四、條件語句

條件語句的語法如下:

#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 $name

#end

#sayhello("velocity")

輸出的結果為hello 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...