<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 170  文章 - 536  trackbacks - 0
    <2006年11月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    常用鏈接

    我參與的團隊

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 414020
    • 排名 - 135

    最新評論

    閱讀排行榜

        這里我們要將 Tapestry 與其它主要的 Java Web 框架做一番比較,包括 Struts,JSF。

        Struts 是一個 Action 方式的 Web 框架,所有的請求直接對應了相應的 Action,我們需要通過一些相應的技巧性處理才能把我們在頁面上的 Click,Value Change 等轉換到后端對應的 Action,抽象程度顯得不夠高,并且這樣會使 Struts 在處理一些較為復雜的頁面時配置過多,造成開發和維護上的繁雜。另外 Struts 默認使用的 Tiles 模板框架使用了 <jsp:include> 方式的拼裝頁面技術,并且在每個頁面都需要配置,這樣的話,又增加了不少的配置量。在Struts中,經常需要使用標簽庫通過 EL(Expression Language)來顯示組件ActionForm中內容,這就涉及到一個結合的問題,標簽庫是別人寫的,而且 Struts 在這方面并沒有確定的標準,如何才能讓自己的組件庫和現有的組件庫很好的結合,難度和麻煩就體現在這個結合點上。

        JSF的視圖層開發的基本思路和Struts差不多,只不過換了不同標簽庫,也需要標簽庫+組件的結合思考,不過因為組件這里是通用組件,沒有什么限制,并且遵循了一個共同的標準,所以這樣比Struts要輕松一些。JSF 提供了一套完整的生命周期和組件標準,我們很容易的為其定制一些組件和使用現有的組件庫。另外JSF采用了事件驅動的方式,同一個頁面對應的多個 Action 請求會比較直接的通過 EL映射到后端對應的 Java 方法上,從而大大減少了復雜頁面的配置量。但是在默認情況下,JSF 每個頁面的都需要配置其單獨的導航,如果頁面導航復雜的話,配置還是不少的。JSF 在默認情況下并沒有集成模板引擎,但是開源的 Facelets 模板引擎提供了類似 Tapestry 的模板方式,從另外一種方式簡化了 JSF 的開發。JSF 采用了 HTML 頁面保存組件樹的機制,頁面的所有組件和組件狀態被序列化到頁面中或者 Session 中,這樣的話,如果在頁面上 Javascrīpt 通過修改 DOM 的方式修改頁面的組件,會導致頁面和組件樹不一致,導致 JSF 無法正常工作,但是可以通過 Ajax 方式向服務端發出更新組件樹的請求,但這樣需要走完 JSF 整個生命周期,顯得較為笨重,所以從架構上來看,JSF 在處理頁面問題上不夠靈活,也不夠 Ajax 化。

        Tapestry使用了組件庫的概念替代了標簽庫,沒有標簽庫概念,這樣就沒有標簽庫和自己的組件需要結合的問題,都是組件的使用,組件中分Tapestry標準組件和自己定義的組件,這也是接觸了JSP體系的人學習Tapestry面臨的一個思路轉換。這樣極大的減小了頁面修改而帶來的修改難度。同為事件驅動的框架,在配置上 Tapestry 有著和 JSF 類似的優勢,我們只需要簡單的在 XML 文件里配置事件和后端方法的對應關系,或者使用 OGNL 直接在頁面中與后端方法建立關聯。在頁面導航上,Tapestry 是根據監聽器方法的返回值而確定,這樣就省去了頁面導航部分的配置。Tapestry 的模板技術天生就是其優勢所在,這樣的方式將前臺頁面的制作和后臺業務系統的開發完美的結合在一起。Tapestry 因為沒有 JSF 這樣的組件樹綁定的方式,就能夠比較容易的和 Ajax 綁定在一起,目前開源的 Tacos 組件庫就提供了很多這樣的組件,并且整合了 Dojo Toolkit 使得我們開發頁面中有了更多好用的組件,并且只需要很簡單的配置工作就可以使用功能強大的 Web 組件和 Ajax 功能。

        另外,JSF/Tapestry不只是支持HTML,也支持多種客戶端語言如WML或XUI等。

    posted on 2006-11-22 14:20 steady 閱讀(1431) 評論(1)  編輯  收藏

    FeedBack:
    # re: Tapestry,JSF和Struts的比較 2007-06-03 17:45 suiyueln
    哥們,介紹一本jsf比較好的資料書好嗎?我學習用《jsf實戰》,這本書搞的我昏頭轉向,不好!你給介紹一本好嗎?我的QQ:2289685,謝謝!  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av日韩综合一区久热| 永久免费的网站在线观看| 亚洲国产综合AV在线观看| 国产亚洲精品一品区99热| 国产精品无码一区二区三区免费 | 99re免费在线视频| 一区二区三区免费看| 亚洲精品亚洲人成在线| 亚洲成人午夜电影| 亚洲av之男人的天堂网站| 亚洲最大av无码网址| 国产免费人视频在线观看免费| 成人黄色免费网址| 日韩在线永久免费播放| 91视频免费观看| 亚洲视频在线免费| 日本特黄特色AAA大片免费| 亚洲av色香蕉一区二区三区| 亚洲熟女综合一区二区三区| 亚洲午夜电影在线观看高清 | 成人免费区一区二区三区| 男女猛烈无遮掩视频免费软件| 亚洲午夜无码久久久久小说 | 日韩免费观看的一级毛片| 久久久久久免费视频| 日日麻批免费40分钟日本的| 小草在线看片免费人成视久网| 最新国产乱人伦偷精品免费网站| 中文字幕在线成人免费看| 一二三区免费视频| 国产高清视频免费在线观看| 人与动性xxxxx免费| 男女猛烈激情xx00免费视频| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 又粗又黄又猛又爽大片免费| 热99re久久精品精品免费| 午夜免费福利在线| 免费国产成人午夜私人影视 | 亚洲一线产品二线产品| 亚洲人成电影网站色www| 亚洲av综合av一区二区三区|