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

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

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

    爪哇一角

    共同探討STRUTS#HIBERNATE#SPRING#EJB等技術
    posts - 3, comments - 6, trackbacks - 0, articles - 99
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    九 UIComponent介紹

    Posted on 2009-01-20 14:49 非洲小白臉 閱讀(402) 評論(0)  編輯  收藏 所屬分類: JSF

    JSF中的組件樹概念尤其重要。組件樹大量使用了組合設計模式,為開發者提供了大量的包括日歷,表格,樹,列表等標準Web組件。

    同時JSF還提供了大量的組件支持類,例如轉換器(可以進行類型轉換),驗證器(進行數據驗證),繪制器(不僅僅可以使用HTML來繪制組件)。接下來我們分析一下用戶界面組件。

    所有組件都要實現javax.faces.component.UIComponent接口。這個接口定義了瀏覽組件樹,和支持Bean交互,管理組件(包括數據驗證,數據轉換和組件繪制)等任務和方法。

    JSF提供了一個組件基類:javax.faces.component.UICompoentBase。它實現了一些基本的默認的組件方法,給開發人員提供了方便,一般來說,你只需要重寫特定的方法即可。

    JSF使用了適配器模式幫助你使用最少的代碼完成大部分工作。

    如果你想創建組件,那么有三條路可以走:

    直接實現UIComponent接口

    繼承UIComponentBase類

    繼承已經存在的UIComponent實現

     

    已經存在的UIComponent組件類主要有如下:

           UIForm 表示一個輸入表單

     

           UICommand 表示一個可在激活時執行一個動作的命令組件

     

           UIOutput 表示一個可顯示值的組件

     

           UIGraphic 表示一個可顯示圖像的組件

     

           UIInput 表示一個可獲取和顯示用戶輸入的組件

     

           UIParameter 用于為父組件配置參數值

     

           UIPanel 表示一個面板(容器)組件

     

           UISelectItem 表示選擇組件中的一個選擇項

     

           UISelectItems表示選擇組件中的多個選擇項

     

           UISelectBoolean表示一個具有boolean值的組件

     

           UISelectOne 表示一個允許用戶在一系列值中選擇零個或一個值的組件

     

           UISelectMany表示一個允許用戶在一系列值中選擇零個或多個值的組件

     

    事實上,一個JSF組件包括了三個部份:Tag、Component 與Renderer。

    Tag就是之前使用的標簽,它的目的在于設定Component屬性,設定驗證器,設定方法綁定等。

     

    Component請求時,每個Component會根據自己的ID值,從請求中取得相應的值,綁定到Bean。當請求來到應用程序時,需要通過解碼(decode)來

    HTTP中的內容轉變成JSF組件需要的值,相對的,當JSF組件將值轉變成HTTP字串資料送到客戶端,供客戶端顯示,就稱為編碼(encode)。

    Component可以自己實現編碼,解碼,也可以委托Renderer來實現。

     

    Renderer是一個可替換的組件,Component可以搭配不通的Renderer,而不用自定義編碼,解碼工作,這樣Component可以達到重用。

    你也可以編寫自己的Renderer,如果你對前臺的顯示有自己獨特的要求的話。甚至可以讓你的系統在移動設備等不同的平臺上應用。

     

    javax.faces.component.UIComponent

    自訂Component所要繼承的父類別,但通常,您是繼承其子類別,例如UIInput、UIOutput等等。

     

    javax.faces.webapp.UIComponentTag

    自訂JSF標簽所要繼承的父類別,繼承它可以幫您省去許多JSF標簽處理的細節。

     

    javax.faces.context.FacesContext
    包括了JSF相關的請求資訊,您可以透過它取得請求物件或請求參數,或者是。

     

    javax.faces.application.Application物件

    包括了一個應用程式所共享的資訊,像是locale、驗證器、轉換器等等,您可以透過一些 工廠方法 取得相關的資訊。

     

    主站蜘蛛池模板: 久久久久亚洲AV成人网人人网站 | 亚洲人6666成人观看| 亚洲中文字幕第一页在线| 亚洲黄片手机免费观看| 亚洲国产婷婷香蕉久久久久久| 国产无遮挡又黄又爽免费视频| 日韩免费一区二区三区| 日本免费一本天堂在线| 国产gav成人免费播放视频| 免费人成在线观看播放国产 | 久久国产色AV免费观看| 久久精品人成免费| 1000部啪啪毛片免费看| 综合在线免费视频| 最近的免费中文字幕视频 | 99re免费视频| 国产免费女女脚奴视频网| 日韩免费一区二区三区在线| 国产麻豆视频免费观看| 免费看又爽又黄禁片视频1000| 日本一道本高清免费| 亚洲国产日韩成人综合天堂| 亚洲精品无码久久一线| 亚洲宅男永久在线| 亚洲av日韩av综合| 久久精品国产亚洲AV电影网| 深夜福利在线视频免费| 久久精品国产免费一区| 国产大片91精品免费观看不卡| 成人性生免费视频| 亚洲Av无码乱码在线观看性色| 亚洲色精品aⅴ一区区三区| 久久亚洲私人国产精品| 一本色道久久88—综合亚洲精品 | 亚洲精品无码国产片| 一区二区免费在线观看| 免费一区二区三区| 最近最新的免费中文字幕| 亚洲国产精品日韩| 亚洲人成网www| 伊人久久亚洲综合影院首页|