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

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

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

    空間站

    北極心空

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

      比較2: java編程模型(Java Programming Model)

      在前面我們提到Tapestry和JSF都允許表現層的模板直接和一個Java類中的屬性和方法進行交互,那這些類的實例在運行時是怎么創建和管理的呢?

      Tapestry
      Tapestry的一個完整過程通常都要包括三個部分:用于顯示的頁面模板(一般就是html),帶有相關屬性和方法的java類,用于定義頁面模板上的控制元素和java類的關系的頁面定義文件。Tapestry有著一套特殊的訪問HttpSess ion、ServletContext的體系。
      在一個頁面定義文件中描述所有的數據綁定是可以的,但是一個頁面控制元素卻不能在request周期內,綁定一個java類。在request周期內只能通過一個page類訪問一些屬性和方法。這其中最主要的限制就是關于page類的問題,一個pag e類必須是BasePage或者AbstractPage的派生類。從另一方面來說,這就意味著你所編寫的表現層邏輯的代碼將會和框架本身的實現有著非常緊密的耦合。不過,Tapestry未來的版本就會減少這種耦合,努力成為一個松耦合的編程模型。

      JSF
      在JSF應用中沒有頁面定義文件。它只有一個全局的配置文件,命名為:faces-config.xml,里面通常都定義了一堆"managed beans"。這些managed beans都是帶有屬性和事件監聽器的定義良好的java bean。在faces-config.xml中定義的后端bean都有三個參數:一個標識符、一個java類名、一個bean的生存周期,生存周期可以是request、session、application中的一種。一旦在 faces-config.xml中定義好了一個managed bean,那一個前端頁面上的顯示控制元素就可以使用標識符來關聯這個bean。managed bean也可以配置為引用另外一個managed bean。

      JSF和Tapestry都可以方便的與其他的中間層技術整合,比如Spring。JSF managed bean facility是一個IoC(Inversion of Control)。通過諸如 JSF-Spring 這樣的擴展技術,我們可以方便將其和Spring很好的整合在一起,使得JSF的表達式可以調用Spring的bean的方法。雖然Spring可以與 Tapestry3.0整合,但是在Tapestry4.0當中才能更好的充分發揮IoC特性;Tape stry的領導Howard Lewis Ship已經在Tapestry啟動了IoC框架的工作。Spring的bean將會很輕松的注入到Tapestry應用的類中。

      JSF的編程模型提供了更大的靈活型,因為你可以通過組合的方式來豐富你的代碼功能。比如,你可以設定一個指定的managed bean完成頁面的某些功能,同時,你也可以在這些bean里引用其他的managed bena,從而可在頁面間共享一些功能。

    而Tapestry必須使用類繼承的方法,也就是說,Tapestry應用中的一個頁面類必須從框架指定的基類中派生(包含一大堆框架指定的狀態),這并不是一個理想的方法。

    JSF能夠非常直觀的管理session和application周期內的狀態: 頁面代碼可以方便的訪問managed bean,而不管其生命周期是request、session還是application。而Tapestry在這方面就相對差點,不過, Tapestry4.0在這方面做了很大的改進,引入了類似于JSF managed bean的技術,同時,還支持Java 5.0的annotaions技術,減少對XML配置文件的依賴,從而降低應用配置的復雜性。

       JSF在編程模型上來看,與Tapestry相比具有更大的靈活性。

    posted on 2006-12-08 19:33 蘆葦 閱讀(247) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 久久精品国产亚洲一区二区| 亚洲AV中文无码乱人伦| 亚洲电影中文字幕| 香蕉免费一区二区三区| 亚洲国产一区在线| 免费A级毛片无码A∨免费| 亚洲国产成人无码av在线播放| 1000部拍拍拍18勿入免费凤凰福利| 久久亚洲私人国产精品vA| 久久99精品免费视频| 亚洲高清视频免费| 97人伦色伦成人免费视频 | 国产精品视频免费一区二区三区 | 国产AV日韩A∨亚洲AV电影| 免费人成视频x8x8入口| 一级毛片大全免费播放| 亚洲精品狼友在线播放| 一级毛片成人免费看免费不卡| 亚洲成人福利在线观看| 午夜私人影院免费体验区| 国产亚洲综合一区二区三区| 区久久AAA片69亚洲| 亚洲一区免费观看| 亚洲中文字幕一二三四区| mm1313亚洲精品无码又大又粗| 成年女人A毛片免费视频| 91亚洲国产成人久久精品网站| 久久电影网午夜鲁丝片免费| 韩国亚洲伊人久久综合影院| 亚洲一区二区三区在线观看精品中文 | 国产免费人成视频在线观看| 一级**爱片免费视频| 亚洲黄色在线网站| 国产精品成人四虎免费视频| 色播在线永久免费视频网站| 亚洲人成综合网站7777香蕉| 亚洲Av无码乱码在线观看性色| 99在线免费观看视频| 色网站在线免费观看| 亚洲ⅴ国产v天堂a无码二区| 日韩特黄特色大片免费视频|