摘要:什么是是基于的模板引擎,它允許頁面設(shè)計者引用中定義的方法。注意會保留你所留下的空格,所以如拼字符串時都是鼓勵用。結(jié)果輸出因?yàn)橛疫叺牟]有定義過模板中不會將解釋為對象的實(shí)例變量。等同于等同于等同于等同于變量的作用域是從上而下往后的都會有。
什么是 Velocity?
Velocity是基于Java的模板引擎,它允許頁面設(shè)計者引用Java中定義的方法。頁面設(shè)計者和Java開發(fā)者能夠同時使用MVC的模式開發(fā)網(wǎng)站,這樣網(wǎng)頁設(shè)計者能夠把精力放在頁面的設(shè)計上,程序員也可以把精力放在代碼開發(fā)上。Velocity把Java代碼從Web頁面中分離, 使網(wǎng)站可維護(hù)性更強(qiáng),同時也在Java服務(wù)器頁面(JSPs)或者PHP中提供了可視化交互的選擇。
一、注釋單行: ## 句子 多行: #* 句子句子 *# 文檔格式: #** 句子句子 **#二、變量
賦值和讀?。?//賦值 #set($name = “hello”) //讀取 ${name} ,也可以寫成:$name。 注意: VM會保留你所留下的空格,所以如拼字符串時 都是鼓勵用{}。 eg: #if($a==1)true enough#elseno way!#end // 這時候會報錯 因?yàn)闆]有#elseno這個的語法 #if($a==1)true enough#else no way!#end //這個時候no way前面會有空格 #if($a==1)true enough#{else}no way!#end // 正確示范
注意幾點(diǎn):
1.右值是null, 則左值不會被賦值,也就是說會保留以前的值。
eg: #set( $monkey = "monica" ) #set( $monkey = $monkey_a ) $monkey 結(jié)果輸出:monica 因?yàn)橛疫叺?monkey_a并沒有定義過
2.velocity模板中不會將reference解釋為對象的實(shí)例變量。
$foo.Name將被解釋為Foo對象的getName()方法,而不是Foo對象的Name實(shí)例變量。
$foo.getBar() 等同于$foo.Bar $data.getUser("jon") 等同于$data.User("jon") data.getRequest().getServerName() 等同于 $data.Request.ServerName等同于${data.Request.ServerName}
3.變量的作用域 是從上而下往后的都會有。 踩過這個坑,描述也不太對看例子
A $monkey三、循環(huán)以上ABCDE的輸出結(jié)果是 輸出結(jié)果: 除了A是字符串顯示$monkey , 其余的都是:jerry保障額度高 B $monkeyC $monkey年度基礎(chǔ)免賠額:1萬元
D $monkeyE $monkey住院醫(yī)療金重癥監(jiān)護(hù)費(fèi)用:不設(shè)單項最高年限額
#foreach ($item in $list) $foreach.index //自帶方法 : 計數(shù)從0開始 相當(dāng)于index $foreach.hasNext //自帶方法 : 等于false代表是最后一個 $foreach.count //自帶方法 : 計數(shù) 從1開始 相對于$velocityCount $foreach.first //自帶方法 : 是否是第一個 $foreach.last //自帶方法 : 是否是最后一個 #if( $foreach.count > 3 ) #break //使用 #break指令在任何時候停止循環(huán) #end $velocityCount //計數(shù) 從1開始 This is $item #end 輸出: 1 this is a //$velocityCount 計數(shù) ------------------------------- 例如數(shù)據(jù)格式 $datas的值: { {“key123":{"bonus":”1”,"name”:"aa"}}, {"key124”:{"bonus”:"2","name”:”bb"}} } $yanShi的值: { {“key123":{"title":"特殊門診醫(yī)療金","values":[600000,600000,600000]}}, {"key124”:{"title”:”住院醫(yī)療金","values”:[100000,200000,600000]}} } 方法一: #foreach ( $key in $datas.keySet()) Key: $key -> Value: $datas.get($key) #end 輸出:Key:key123 -> Value: {"bonus":”1”,"name”:"aa”} 方法二: #foreach ( $key in $bonus_datas.entrySet()) Key: $key.getKey() -> Value: $key.getValue() $yanShi.getJSONObject($key.getKey()).get(“title”) //例如循環(huán)datas里面再對應(yīng)去讀yanShi的title #end 輸出:Key:key123 -> Value: {"bonus":"1","name":"aa"} 再補(bǔ)充一些讀取不同數(shù)據(jù)的方法: .get() .getString() .getJSONArray() .getJSONObject() .getBooleanValue()四、條件語句
#if (condition) #elseif (condition) #else #end五、關(guān)系邏輯符
not && || #if ( ! $foo)#end #if ($foo && $foo)#end #if ($foo1 || $foo2)#end
數(shù)組的常用方法操作:
$myarray.isEmpty()數(shù)組是否為空 $myarray.size()獲取數(shù)組元素個數(shù) $myarray.get(2)獲取數(shù)組指定下標(biāo)的元素 $myarray.add()增加元素
來源參考:
中文:http://ifeve.com/apache-veloc...
英文:http://velocity.apache.org/en...
參考: http://www.blogjava.net/alexw...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/105723.html
摘要:是一個基于的模板引擎。模板中未被定義的變量將被認(rèn)為是一個字符串。公眾號回復(fù)全棧,領(lǐng)取前端,,產(chǎn)品經(jīng)理,微信小程序,等資源合集大放送。公眾號回復(fù)面試,領(lǐng)取面試實(shí)戰(zhàn)學(xué)習(xí)資源。 Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。 當(dāng)Velocity應(yīng)用于web...
摘要:目錄建造者模式應(yīng)用。其實(shí)不用也可以,因?yàn)椴皇呛軓?fù)雜,只是為了復(fù)習(xí)一下所學(xué)過的設(shè)計模式知識目錄工廠模式應(yīng)用。 為了提高開發(fā)效率,通常會想辦法把一些模式固定的重復(fù)性的勞動抽取出來,以后再使用的時候,拿來主義就可以了。這樣既可以提高開發(fā)效率,又降低了出錯的風(fēng)險。 這一思想在我們的日常工作中可以說隨處可見,我們完成一項復(fù)雜的工程,并不需要面面俱到什么都自己寫,我們完全可以利用第三方的jar包讓...
摘要:的簡介是一個基于的模板引擎。使用,也可以寫成。所以,應(yīng)該使用規(guī)范的格式書寫現(xiàn)在知道變量是而不是。如當(dāng)頁面中包含,如果對象有值,將顯示的值,如果不存在對象同,則在頁面中將顯示字符。 velocity的簡介 Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象,...
摘要:的簡介是一個基于的模板引擎。使用,也可以寫成。所以,應(yīng)該使用規(guī)范的格式書寫現(xiàn)在知道變量是而不是。如當(dāng)頁面中包含,如果對象有值,將顯示的值,如果不存在對象同,則在頁面中將顯示字符。 velocity的簡介 Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象,...
閱讀 2067·2021-11-08 13:22
閱讀 2534·2021-09-04 16:40
閱讀 1174·2021-09-03 10:29
閱讀 1741·2019-08-30 15:44
閱讀 2142·2019-08-30 11:13
閱讀 2818·2019-08-29 17:07
閱讀 1991·2019-08-29 14:22
閱讀 1273·2019-08-26 14:00