成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

velocity (vm)模板引擎筆記--上

MasonEast / 3163人閱讀

摘要:什么是是基于的模板引擎,它允許頁面設(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 
保障額度高 B $monkey

年度基礎(chǔ)免賠額:1萬元 

C $monkey
D $monkey
住院醫(yī)療金

重癥監(jiān)護(hù)費(fèi)用:不設(shè)單項最高年限額

E $monkey
以上ABCDE的輸出結(jié)果是 輸出結(jié)果: 除了A是字符串顯示$monkey , 其余的都是:jerry
三、循環(huán)
#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

相關(guān)文章

  • 工具集核心教程 | 第四篇: Velocity模板引擎入門到進(jìn)階

    摘要:是一個基于的模板引擎。模板中未被定義的變量將被認(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...

    leon 評論0 收藏0
  • 動手搭建后端框架-Velocity模板引擎的應(yīng)用

    摘要:目錄建造者模式應(yīng)用。其實(shí)不用也可以,因?yàn)椴皇呛軓?fù)雜,只是為了復(fù)習(xí)一下所學(xué)過的設(shè)計模式知識目錄工廠模式應(yīng)用。 為了提高開發(fā)效率,通常會想辦法把一些模式固定的重復(fù)性的勞動抽取出來,以后再使用的時候,拿來主義就可以了。這樣既可以提高開發(fā)效率,又降低了出錯的風(fēng)險。 這一思想在我們的日常工作中可以說隨處可見,我們完成一項復(fù)雜的工程,并不需要面面俱到什么都自己寫,我們完全可以利用第三方的jar包讓...

    villainhr 評論0 收藏0
  • velocity的基本使用 && 實(shí)例講解

    摘要:的簡介是一個基于的模板引擎。使用,也可以寫成。所以,應(yīng)該使用規(guī)范的格式書寫現(xiàn)在知道變量是而不是。如當(dāng)頁面中包含,如果對象有值,將顯示的值,如果不存在對象同,則在頁面中將顯示字符。 velocity的簡介 Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象,...

    zhunjiee 評論0 收藏0
  • velocity的基本使用 && 實(shí)例講解

    摘要:的簡介是一個基于的模板引擎。使用,也可以寫成。所以,應(yīng)該使用規(guī)范的格式書寫現(xiàn)在知道變量是而不是。如當(dāng)頁面中包含,如果對象有值,將顯示的值,如果不存在對象同,則在頁面中將顯示字符。 velocity的簡介 Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象,...

    scq000 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<