国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

EasyJWeb-Velocity腳本簡明教程

2019-11-18 15:24:06
字體:
來源:轉載
供稿:網友

  很多人下載了EasyJWeb的開源應用示例,但是對動態(tài)頁面模板文件中的標簽使用不是很熟悉,這里簡單介紹一下。EasyJWeb特定把視圖限定為Velocity,因為我們覺得在Velocity在表現(xiàn)上從可維護性、簡潔性乃靈活性上,比jsp及其它視力技術表現(xiàn)強得多。雖然我們可以非常簡單把EasyJWeb擴展成支持多種視力技術,但當前我們不打算這樣做!
  使用EasyJWeb的目的,是在于把頁面-程序完成分開,就也就是一個項目中,程序員使用專業(yè)java開發(fā)工具(如Eclipse、JBuilder等)來編寫、調試、測試程序,頁面制作人員使用專業(yè)的網頁制作工具(如Macromedia Dreamweaver)來設計制作網頁,而兩者之間的協(xié)調通過一個規(guī)范的接口協(xié)議來解決。需要在頁面里面加如一些標簽,來生成動態(tài)內容,這一工作可以交由網頁制作人員來完成。因為使用Velocity作為視圖,由于他的語法、功能及使用方法都比較簡單,因此一般情況下,一天以內就能讓頁面制作人員熟練把握其用法。
  Velocity是一個基于java的模板引擎(template engine),它答應任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。作為一個比較完善的模板引擎,Velocity的功能是比較強大的,但強大的同時也增加了應用復雜性。

一、基本語法

1、"#"用來標識Velocity的腳本語句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;
如:
#if($info.imgs)
<img src="$info.imgs" border=0>
#else
<img src="http://www.QQread.com/java/2006/11/noPhoto.jpg">
#end

2、"$"用來標識一個對象(或理解為變量);
如:$i、$msg、$TagUtil.options(...)等。

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

4、"!"用來強制把不存在的變量顯示為空白。
如當頁面中包含$msg,假如msg對象有值,將顯示msg的值,假如不存在msg對象同,則在頁面中將顯示$msg字符。這是我們不希望的,為了把不存在的變量或變量值為null的對象顯示為空白,則只需要在變量名前加一個“!”號即可。
如:$!msg

二、在EasyJWeb中的最佳實踐

    理論上你可以在EasyjWeb模板使用所有Velocity的腳本及功能,但我們不推薦你在界面模板中使用過多過復雜的腳本表達方式,在萬不得已的情況下,不要在界面模板中加入任何復雜的邏輯,更不要在界面模板中加入變量聲明、邏輯運算符等等。

  在EasyJWeb中,我們提供了五條基本的模板腳本語句,基本上就能滿足所有應用模板的要求。這四條模板語句很簡單,可以直接由界面設計人員來添加。在當前很多EasyJWeb的應用實踐中,我們看到,所有界面模板中歸納起來只有下面四種簡單模板腳本語句即可實現(xiàn):
   1、$!obj  直接返回對象結果。
   如:在Html標簽中顯示java對象msg的值。<p>$!msg</p>
  在html標簽中顯示經過HtmlUtil對象處理過后的msg對象的值  <p>$!HtmlUtil.doSomething($!msg)</p>

  2、#if($!obj) #else #end 判定語句
   如:在EasyJWeb各種開源應用中,我們經常看到的用于彈出提示信息msg的例子。
   #if($msg)
   <script>
   alert('$!msg');
   </script>
   #end
上面的腳本表示當對象msg對象存在時,輸出<script>等后面的內容。

  3、#foreach( $info in $list) $info.someList #end  循環(huán)讀取集合list中的對象,并作相應的處理。
   如:EasyJF開源論壇系統(tǒng)中論(0.3)壇首頁顯示熱門主題的html界面模板腳本:
  #foreach( $info in $hotList1)
<a href="/bbsdoc.ejf?easyJWebCommand=show&&cid=$!info.cid" target="_blank">$!info.title</a><br>
    #end
   上面的腳本表示循環(huán)遍歷hotList1集合中的對象,并輸出對象的相關內容。
  
   4、#macro(macroName)#end 腳本函數(宏)調用,不推薦在界面模板中大量使用。
   如:在使用EasyJWeb Tools快速生成的添刪改查示例中,可以點擊列表的標題欄進行升降排序顯示,這是我們在EasyJWeb應用中經常看到的一個排序狀態(tài)顯示的模板內容。
   函數(宏)定義,一般放在最前面
   #macro(orderPic $type)
   #if ($orderField.equals($type))
   <img src="http://www.qqread.com/images/ico/${orderType}.gif">
   #end
   #end
具體的調用如:<font color="#FFFFFF">頭銜#orderPic("title")</font>



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 芮城县| 育儿| 当雄县| 新营市| 万宁市| 海安县| 犍为县| 长子县| 高雄县| 广水市| 万载县| 明溪县| 区。| 淮南市| 教育| 辉县市| 嵊州市| 临江市| 甘孜| 吉安市| 尼勒克县| 锦屏县| 叶城县| 宜都市| 阿合奇县| 响水县| 安化县| 青川县| 察雅县| 营口市| 京山县| 马山县| 甘孜县| 永善县| 定边县| 湖南省| 赤峰市| 织金县| 营口市| 巩义市| 吴忠市|