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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java velocity 语法_Velocity的基本语法

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java velocity 语法_Velocity的基本语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導航: 上一頁

先來看看velocity的語法:vtl也就是velocity的基本語言.用過腳本語言的,對于這個應該會很容易上手,其實,基本上,語法可以分為變量和關鍵詞。

定義變量:

變量使用$作為開頭符號,$a 和${a}是一致的。在模版中聲明一個變量是很容易的,使用set關鍵字,例如:#set( $foo = "Velocity" )

對于velocity中,感覺比較靈活的就是變量中,可以直接使用方法,和javabean屬性一樣方便使用:

如下:$customer.Address,$purchase.Total,$customer.Address.phone。不過好像不支持map語法,如:a["key"]這種寫法,但是可以使用方法代替:a.get("key")。而使用了方法,感覺就在使用java代碼一樣方便。當然變量中支持簡單的表達式計算:$a+1等等。

有一點需要注意的是,如果變量沒有解析,還是會輸出$a這個變量,而不是空白或者報錯。

關鍵字:

關鍵字使用#開頭。

其關鍵字也不多,只有少數的幾個,但是已經足夠用了。如前面的聲明變量:

#set

#if #elseif #else #end 這是最常用的條件判斷,每個判斷使用#end結尾

#if($a==1)true enough#{else}no way!#end

#foreach() #end用于循環輸出

#foreach( $key in $allProducts.keySet() )

Key: $key -> Value: $allProducts.get($key)

#end

#include,用于包括一些資源文件,當然include是不會去解析資源文件,這和#parse不同

#include( "one.txt" )

#parse,用于解析并且包括相應的資源文件

#parse( "me.vm" ),和主文件共享相應的Context

#stop,用于停止執行解析,并返回,主要用于調試功能。

基本上,使用以上的語法,可以定義出任何的模版了。當然,為了簡化模版的定義,velocity特意推出了#macro這個強大的功能. #macro,類似于宏定義,用于自定義相應的標記。

如下定義了一段宏,用于輸出表格中的列表

#macro( tablerows $color $somelist )

#foreach( $something in $somelist )

$something

#end

#end

在模板中,只需要使用#tablerows($color $somelist)就可以取代里面的代碼了:

#set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] )

#set( $color = "blue" )

#tablerows( $color $greatlakes )

而且#macro 支持內嵌語法,所以對于模版的定義,就變得更加的靈活而簡單了。

參考資料

總結

以上是生活随笔為你收集整理的java velocity 语法_Velocity的基本语法的全部內容,希望文章能夠幫你解決所遇到的問題。

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