閑人野居
          好好學(xué)習(xí),天天向上
          posts - 57,  comments - 137,  trackbacks - 0
              接上一篇內(nèi)容。這次主要分析一下jsf的相關(guān)組件包,也是jsf和structs主要不同的地方。jsf 規(guī)范中,對(duì)于組件的設(shè)計(jì),和其他組件架構(gòu)一樣,分離表現(xiàn)層和模型層。對(duì)于組件的render由具體的Renderer來(lái)處理,這也達(dá)到了Model和View分離的原則。
              component:所有的基本組件都在其中,如下的主要類圖,對(duì)于各個(gè)組件就不一一詳細(xì)介紹了。主要介紹一下幾個(gè)接口:



          StateHolder:用于表示在請(qǐng)求之間需要保存相應(yīng)的狀態(tài)信息,必須實(shí)現(xiàn)saveState和resotreState方法。
          ValueHolder:用于支持本地值的保持,用于訪問(wèn)model數(shù)據(jù),通過(guò)表達(dá)式,支持轉(zhuǎn)換。
          EditableValueHolder:用于表示那些可以編輯的組件值
          ActionSource:由UIComponet實(shí)現(xiàn),用于作為ActionEvent的事件源,支持默認(rèn)的ActionListener調(diào)用
          ActionSource2:這是最近的規(guī)范中增加的,提供了對(duì)于MethodExpression的支持。
          ContextCallback:用于組件執(zhí)行相應(yīng)的回調(diào)
          NamingContainer:標(biāo)志接口,表示容器組件

              convert:包括了主要的Convert接口,以及內(nèi)置的Convert實(shí)現(xiàn)類,主要的作用用于在頁(yè)面值綁定時(shí),進(jìn)行類型的轉(zhuǎn)換工作
              validator:主要的驗(yàn)證包,定義了通過(guò)的Validator接口,以及簡(jiǎn)單的幾個(gè)驗(yàn)證類。默認(rèn)情況下,jsf都是進(jìn)行服務(wù)端驗(yàn)證,如果想需要客戶端驗(yàn)證,暫時(shí)從規(guī)范中,還沒(méi)有找出相應(yīng)的解決方案。不過(guò)現(xiàn)在已經(jīng)是Ajax時(shí)代了,使用異步的傳輸,從效果上已經(jīng)接近于客戶端之間驗(yàn)證。
              event:主要的事件體系。個(gè)人覺(jué)得jsf的事件體系還是比較弱的。和強(qiáng)大的Swing事件體制相比,那簡(jiǎn)直差遠(yuǎn)了。而且jsf默認(rèn)使用一個(gè)ActionListener來(lái)委派所有的客戶端動(dòng)作觸發(fā)。大多數(shù)的調(diào)用都是使用MethodExpression來(lái)進(jìn)行。
              model:只是加強(qiáng)了對(duì)于DataTable的支持,以及SelectItems。
              render:主要的展示包,當(dāng)然只是提供規(guī)范,具體由實(shí)現(xiàn)類提供。對(duì)于Renderer,都需要一套R(shí)enderKit.而RenderKit由RenderKitFactory管理。ResponseStateManager,作為StateManager的幫助類,進(jìn)行主要的State操作。
              基本上,規(guī)范也就這么些東東。從整體來(lái)看,并不算太復(fù)雜??上КF(xiàn)在的jsf實(shí)現(xiàn)實(shí)在太多了,而且各個(gè)實(shí)現(xiàn)并不一定兼容,導(dǎo)致了jsf世界的龐大。
             


          posted on 2007-04-25 16:33 布衣郎 閱讀(2818) 評(píng)論(2)  編輯  收藏 所屬分類: web view技術(shù)

          FeedBack:
          # re: 了解jsf的架構(gòu)二
          2007-04-25 16:36 | BeanSoft
          支持一下,最近正在了解一些 JSF 方面的知識(shí), 怎么說(shuō)也是 Java EE 5 規(guī)范, 屬于通用框架.  回復(fù)  更多評(píng)論
            
          # re: 了解jsf的架構(gòu)二
          2007-04-25 20:08 | ant
          持續(xù)關(guān)注這個(gè)系列,加油!  回復(fù)  更多評(píng)論
            

          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(12)

          隨筆分類(59)

          隨筆檔案(57)

          blog

          java

          uml

          搜索

          •  

          積分與排名

          • 積分 - 358221
          • 排名 - 156

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 南投市| 山阳县| 文昌市| 图们市| 镇康县| 广河县| 田林县| 昌图县| 潼关县| 通辽市| 乌苏市| 磴口县| 青田县| 巫山县| 云林县| 西贡区| 柯坪县| 寿阳县| 巴东县| 始兴县| 舟曲县| 靖边县| 弥渡县| 江孜县| 潮州市| 天峨县| 龙游县| 北宁市| 曲周县| 稷山县| 永善县| 金华市| 彩票| 延川县| 获嘉县| 景东| 桐柏县| 墨竹工卡县| 筠连县| 右玉县| 唐河县|