一個(gè)基于Java的模板引擎Velocity

Velocity可以獲取在java語(yǔ)言中定義的對(duì)象,從而實(shí)現(xiàn)界面和java代碼的真正分離,這意味著可以使用velocity替代jsp的開(kāi)發(fā)模式了
提示:velocity中大小寫(xiě)敏感。
基本的Velocity語(yǔ)法

1、"#"用來(lái)標(biāo)識(shí)Velocity的腳本語(yǔ)句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;
如:
#if($info.imgs)
<img src="$info.imgs" border=0>
#else
<img src="noPhoto.jpg">
#end

2、"$"用來(lái)標(biāo)識(shí)一個(gè)對(duì)象(或理解為變量);如
如:$i、$msg、$TagUtil.options(...)等。

3、"{}"用來(lái)明確標(biāo)識(shí)Velocity變量;
比如在頁(yè)面中,頁(yè)面中有一個(gè)$someonename,此時(shí),Velocity將把someonename作為變量名,若我們程序是想在someone這 個(gè)變量的后面緊接著顯示name字符,則上面的標(biāo)簽應(yīng)該改成${someone}name。

4、"!"用來(lái)強(qiáng)制把不存在的變量顯示為空白。
如當(dāng)頁(yè)面中包含$msg,如果msg對(duì)象有值,將顯示msg的值,如果不存在msg對(duì)象同,則在頁(yè)面中將顯示$msg字符。這是我們不希望的,為了把不存 在的變量或變量值為null的對(duì)象顯示為空白,則只需要在變量名前加一個(gè)“!”號(hào)即可。
如:$!msg
(1)判斷null

#if( $name  ==  null)

 something code

#end

(2)判斷null或者false

#if( !$name)

 something code

#end

(3)判斷null或者空字符串

#if( "$!name" == "")

 something code

#end
————————————————
版權(quán)聲明:本文為CSDN博主「晨劍飛」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/happy_cheng/article/details/43769725
變量規(guī)范的寫(xiě)法
${name} ,也可以寫(xiě)成:$name。提倡用前面的寫(xiě)法。

變量的賦值:
 $name="hello"

循環(huán)
#foreach ($element in $list)
This is $element.
$velocityCount //下標(biāo)
#end
Velocity還特別提供了得到循環(huán)次數(shù)的方法,$velocityCount變量的名字是Velocity默認(rèn)的名字。
#foreach($fundDet in $!list)  
$!{velocityCount}
$!{list.size()}   //數(shù)組的長(zhǎng)度
#end
條件語(yǔ)句

#if (condition)
#elseif (condition)
#else
#end


語(yǔ)句的嵌套

#foreach ($element in $list)
## inner foreach 內(nèi)循環(huán)
#foreach ($element in $list)
This is $element. $velocityCount <br>inner<br>
#end
## inner foreach 內(nèi)循環(huán)結(jié)束
## outer foreach
This is $element.
$velocityCount <br>outer<br>
#end

語(yǔ)句中也可以嵌套其他的語(yǔ)句,如#if…#else…#end等。

超出幾個(gè)字...展示
velocity 的$!display.truncate($!{變量},18,"...")
超出18個(gè)字...

<!-- 頁(yè)面公用結(jié)構(gòu)、velocity變量綁定到global變量中,變量不能為對(duì)象 -->
<script type="text/javascript">
    window.global = window.global || {};
    global.list = '$!list';
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 這個(gè)是轉(zhuǎn)載,原文在這里在這里我們給了 View 一個(gè)很明確的高度約束(200)。缺少這個(gè)約束,ScrollView...
    petter102閱讀 393評(píng)論 0 2
  • 1我今天學(xué)了什么 1iframe 2skill 3切圖 2我掌握了什么 2skill 3我沒(méi)掌握的 1iframe
    鄂xj閱讀 132評(píng)論 0 0
  • 自己是一片樹(shù)葉,凋落腐敗在那方土地;自己像一直喜鵲,跳躍休息在那個(gè)鳥(niǎo)巢——在夢(mèng)里。 總會(huì)在夢(mèng)里的那片混沌之中,隨著...
    落瓣殘瘦閱讀 286評(píng)論 0 1
  • 檔案:PrScrn.dll DLL可以由安裝微信或下方直接下載獲得 微信路經(jīng)C:\Program Files (x...
    Maliao閱讀 936評(píng)論 0 0
  • 什么是Run Loop?從字面上看:運(yùn)行循環(huán)、跑圈。它的內(nèi)部是do-while循環(huán),在這個(gè)循環(huán)內(nèi)部不斷處理各種任務(wù)...
    _叫我小賤閱讀 394評(píng)論 0 1