麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

表現層框架Struts/Tapestry/JSF架構比較

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

    Struts/Tapestry/JSF是目前J2EE表現層新老組合的框架技術。從誕生時間上看,Struts應該比較早,使用得非常廣泛,Tapestry 3.0逐漸引起廣泛的重視,正當Tapestry即將大顯身手時期,SUN推出JSF標準技術,雖然JSF一開始推出尚不成熟,留出了一段空白期,但是隨著JSF1.1標準推出,JSF開始正面出擊,粉面隆重登場了。

  其實,JSF和Tapestry也并不是那種頭碰頭的相同競爭性技術,兩者還是各有側重點的,不過比較細微,但是這種細微點在實現一個大工程時可能帶來不同的感受和變化。

  首先,我們從一個高度來抽象一下表現層框架應有的技術架構,下圖可以說所有表現層框架技術都必須實現的功能架構圖:

表現層框架Struts/Tapestry/JSF架構比較

  當然,我們不必廢話羅嗦MVC模式,MVC模式是基準模式,現在框架技術已經不必再拼是否是MVC模式了。 在上圖MVC模式基礎上,一個表現層框架無外乎要實現圖中的三個功能:

1.在當前頁面能夠顯示一個組件對象的內容;而不是象純jsp那樣,需要在Jsp頁面寫入“調用對象方法”的java代碼。

2.當用戶按下頁面的提交按扭或鏈接后,事件發生,這時應該觸發服務器端并將當前頁面的參數提交給服務器。這種機制表現在Form表單提交和有參數的鏈接

3.從一個頁面視圖直接跳轉到另外一個頁面視圖,單純的導航作用。

我們通過下表來比較這 三種框架在實現上圖各個功能時技術細節,從而得出他們的異同點和偏重點。

 StrutsTapestry3.0JSF在View顯示的組件要求

組件必須繼續ActionForm

分顯式調用和隱式調用
組件必須繼續BaseComponent普通POJO
無需繼續
Managed Bean組件在View顯示粒度View頁面只能顯示與表單對應的ActionForm,配置中Action ActionForm 頁面一般只能1:1:1關系??蓪⒔M件嵌入頁面任何一行,對使用組件數量無限制。同Tapestry頁面分區tiles使用Tiles標簽庫實現,需要另外tiles-def.xml配置文件組件有自己的視圖頁面,通過調用組件即直接實現多個頁面組合。強大自然的頁面組合是其特點。通過組件+標簽庫實現Subview,但如需重用Layout,還要結合Tiles.頁面跳轉使用標簽庫Html:link中寫明目標URL,URL名稱需要對照配置文件的path命名,與組件Action耦合。URL名稱是目標的組件名稱,不涉及URL和路徑等操作,方便穩固。類似Struts,也需要在配置文件中查找,與組件分離。參數傳遞使用html:link時傳遞參數超過一個以上處理麻煩。直接調用組件,直接賦予參數,沒有參數個數限制參數分離傳遞給組件事件觸發通過表單提交submit激活,不能細化到表單里字段。能夠給于表單每個字段貼一個事件,事件組件必須實現PageListener接口同Tapestry,事件組件必須實習ActionListener 接口

Struts組件編程模型

  Struts實現組件編程時有一些復雜:經常為一個頁面中需要引入多個組件而頭疼,因為Struts中無法直接引入多個組件,必須繞一些圈子:

  一般分兩種情況:假如同一個Action就可以對付這些組件,那么在這種情況下有兩個辦法:

1.將這多個組件裝入一個ActionForm中,如使用MapForm等機制;

2.手工將多個組件裝入request/session等scope中,然后根據其名稱在jsp中獲得。

  這兩個方法都有缺點: 第一種辦法經常一個ActionForm弄得面目全非,變成一個大雜燴,違反了OO分派封裝的原則;第2種辦法其實又回到jsp編程;

  第二種情況,假如這些組件必須有預先由不同的Action來處理,每個組件必須經過Action -->ActionForm流程,在這種情況下有兩種辦法:

1.使用Tiles, 不同流程輸出到同一個頁面的不同區域。是一種并行處理方式。

2. 對多個流程首尾相連,第一Action forward結果是第二個Action,最后輸出一個Jsp,在這個jsp中就可以使用前面多個流程的多個ActionForm了,這屬于串行方式。

QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级大片在线观看 | 日本欧美一区二区三区视频麻豆 | 成年免费在线视频 | 日韩做爰视频免费 | 久久久电影电视剧免费看 | 国产精品久久久免费看 | 午夜久久电影 | 免费国产不卡午夜福在线 | 亚洲一区二区成人 | 日韩视频在线免费 | 久久精品一区二区三 | v11av在线播放 | 免费一级片网站 | 欧美性生活久久 | 黑人日比| 日本欧美中文字幕 | 香蕉国产9 | 亚洲电影在线播放 | 欧美日韩亚洲另类 | www久久艹 | 中国美女一级黄色大片 | 日本道中文字幕 | 国产精品一区在线观看 | 国产九九热视频 | 亚洲精中文字幕二区三区 | 精品久久久久久久久久久久久久 | wwwxxx视频| 成年人黄色免费网站 | 成人免费毛片一 | 欧美成人午夜一区二区三区 | 成人一区二区三区在线 | 成人啪啪色婷婷久 | 91av网址 | 男女羞羞视频 | 激情亚洲一区二区三区 | 午夜精品福利视频 | 亚洲性在线视频 | 91av日韩| 午夜精品久久久久久久久久久久久蜜桃 | av大全在线免费观看 | 国产毛片网站 |