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