Velocity指令碼摘要

2021-09-05 19:12:15 字數 2985 閱讀 9088

velocity判斷空值方法

依據:$username與$!username的區別,當找不到username的時候,$username返回字串"$username",而$!username返回空字串""

所以:#set($!username=='') 可以判斷字串是否為空

以下為velocity指令碼摘要

1、宣告:#set ($var=***)

左邊可以是以下的內容

variable reference

string literal

property reference

method reference

number literal #set ($i=1)

arraylist #set ($arr=["yt1","t2"])

技持算術運算子

2、注釋:

單行## ***

多行#*

******x

************

*# references 引用的型別

3、變數 variables

以 "$" 開頭,第乙個字元必須為字母。character followed by a vtl identifier. (a .. z

or a .. z).

變數可以包含的字元有以下內容:

alphabetic (a .. z, a .. z)

numeric (0 .. 9)

hyphen ("-")

underscore ("_")

4、properties

$identifier.identifier

$user.name

hashtable user中的的name值.類似:user.get("name")

5、methods

object user.getname() = $user.getname()

6、formal reference notation

用{}把變數名跟字串分開

如#set ($user="csy"}

$name

返回csyname

$username

$!username

$與$!的區別

當找不到username的時候,$username返回字串"$username",而$!username返回空字串""

7、雙引號 與 引號

#set ($var="helo")

test"$var" 返回testhello

test'$var' 返回test'$var'

可以通過設定 stringliterals.interpolate=false改變預設處理方式

8、條件語句

#if( $foo )

velocity!

#end

#if($foo)

#elseif()

#else

#end

當$foo為null或為boolean物件的false值執行.

9、邏輯運算子:== && || !

10、迴圈語句#foreach($var in $arrays )// 集合包含下面三種vector, a hashtable or an array

#end

#foreach( $product in $allproducts )

$product

#end

#foreach( $key in $allproducts.keyset() )

key: $key -> value: $allproducts.get($key)

#end

#foreach( $customer in $customerlist )

$velocitycount

$customer.name

#end

11、velocitycount變數在配置檔案中定義

# default name of the loop counter

# variable reference.

directive.foreach.counter.name = velocitycount

# default starting value of the loop

# counter variable reference.

directive.foreach.counter.initial.value = 1

12、包含檔案

#include( "one.gif","two.txt","three.htm" )

13、parse匯入指令碼

#parse("me.vm" )

14、#stop 停止執行並返回

15、定義巨集velocimacros ,相當於函式 支援包含功能

#macro( d )

#end

呼叫 #d()

16、帶引數的巨集

#macro( tablerows $color $somelist )

#foreach( $something in $somelist )

$something

#end

#end

17、range operator

#foreach( $foo in [1..5] )

Velocity初學筆記

velocity頁面 velocity 1.變數 屬性 方法 set foo velocity hello foo world 或者hello world customer.address purchase.gettotal ps set foo gibbous moon foo 輸出 moon g...

velocity 快速入門

基本語法 1 變數定義 name 注意 a 名字和 配合一起用 b 更規範的寫法是 2 賦值 set name 威少 3 條件判斷 if code elseif code else code end 注意 結尾 end不可缺 4.迴圈 foreach element in list element ...

Velocity 加減運算

因為在做的乙個專案裡用的是velocity,以前一直沒用過,一直都是用的框架自帶的標籤,如struts2等,做了一段時間感覺差不多都一樣的,無非就是if.else.foreach等,但是網上說freemaker要強大的多,我也沒用過,所以就沒資格說那個好,但是用velocity有點讓我不爽,velo...