征服jsf

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            6 隨筆 :: 0 文章 :: 27 評論 :: 0 Trackbacks
             1.不要盲目使用jsf1.2規(guī)范的實現(xiàn)框架:
                  目前sun,myfaces都推出了jsf1.2規(guī)范的實現(xiàn),但是各種jsf1.2支持并沒有跟上,所以小心使用。
                 jsf1.2的優(yōu)勢主要體現(xiàn)在統(tǒng)一的EL表達(dá)式,也就是說你可以在頁面上,混合使用只要支持了統(tǒng)一表達(dá)式的各種tag標(biāo)記,同時可以享受jsf在表現(xiàn)層開發(fā)上帶來的強(qiáng)大支持,這就又需要兩個規(guī)范的支持,一個是jsp規(guī)范,一個是jstl規(guī)范,jsp2.1規(guī)范支持統(tǒng)一EL,它在tomat6.0.14以后才開始支持,glassFish默認(rèn)支持,這些都是基礎(chǔ)設(shè)施,jstl把不同的taglibs定義了一個規(guī)范,你可以選擇各種實現(xiàn)了jstl規(guī)范的taglibs框架,目前大多數(shù)使用的是apache 帶的標(biāo)準(zhǔn)實現(xiàn),但是apache仍然沒有推出jstl1.2規(guī)范的實現(xiàn),只有jstl1.2規(guī)范以后開始支持統(tǒng)一EL,目前可能只有g(shù)lassfish有jstl1.2的默認(rèn)實現(xiàn),我沒有試過能不能復(fù)用在其他容器下,但是在沒有驗證之前,請斟酌使用,jsf1.2在統(tǒng)一EL方面的常用應(yīng)用就是和jstl標(biāo)記混合。如果你的項目仍然是tomcat5.5或者jboss的容器,使用jsf1.2沒有多大優(yōu)勢!而且jsf1.2雖然推出了不同的實現(xiàn)框架,但是增強(qiáng)框架仍然沒有看到,myfaces基于jsf1.2的 Tomahawk 還沒有推出支持1.2規(guī)范的實現(xiàn),如果僅僅使用sun的標(biāo)準(zhǔn)實現(xiàn)和myfaces的標(biāo)準(zhǔn)實現(xiàn),在項目中你會步履維艱!

          2.如果沒有商業(yè)jsf框架選擇,請選擇myfaces的增強(qiáng)框架Tomahawk
            sun的標(biāo)準(zhǔn)實現(xiàn)和myfaces的標(biāo)準(zhǔn)實現(xiàn)都是針對規(guī)范該有的內(nèi)容進(jìn)行實現(xiàn),并沒有在組件方面進(jìn)行必要的增強(qiáng),這也是我主要使用Tomahawk這種對組件增強(qiáng)框架的原因。

          3.現(xiàn)階段不要相信IDE工具支持
             netbeans的可視化操作使用的是自己的jsf實現(xiàn),沒有myfaces框架的支持,需要等到6.0推出才能驗證它的優(yōu)勢,其他包括商業(yè)工具,使用后錯誤很多,感覺就是在測試我們的接受能力,現(xiàn)階段我對jsf的可視化工具不抱希望,如果你有信心,可以試試工具!現(xiàn)階段我推薦的方式是jsf手動開發(fā),在開發(fā)中積累經(jīng)驗!

          4.不要隨意使用ajax支持的jsf組件。
            如果你是web2.0的支持者,現(xiàn)階段還是不要用jsf好,jsf是下一代web2.0的主導(dǎo)。如果你是標(biāo)準(zhǔn)的企業(yè)開發(fā),建議使用標(biāo)準(zhǔn)方式進(jìn)行頁面請求。jsf最大的貢獻(xiàn)不是支持ajax,而是內(nèi)部實現(xiàn)了一個可以透明化http無狀態(tài)的機(jī)制,這種機(jī)制讓我們在開發(fā)上高度關(guān)注組件化業(yè)務(wù),讓我們的開發(fā)能走的更遠(yuǎn),而使用ajax在理論上和標(biāo)準(zhǔn)方式一樣,在服務(wù)端具有統(tǒng)一的模型處理,但是javascript在工程開發(fā)上是高度的復(fù)雜和麻煩,jsf在處理純html上在現(xiàn)階段也是常常出現(xiàn)一些讓人接受不了的問題,有時候需要自己手動Hack,但是好在html還不復(fù)雜,如果頁面端大量javascript,你怎么辦,這還不算請求帶來的問題,ajax框架本身的質(zhì)量!

          6.如果項目中決定使用jsf,請找一個能拿的住jsf的人,整個開發(fā)不僅僅會使用jsf,還有混合使用其他頁面技術(shù),如果這個人對表現(xiàn)層的理解包括jsf的理解不夠,項目在很多方面的質(zhì)量會有折扣,但是對于整個開發(fā)團(tuán)隊使用jsf會比使用其他表現(xiàn)層技術(shù)更簡單,更高效,開發(fā)質(zhì)量也會更高,這都要看jsf負(fù)責(zé)人的技術(shù)應(yīng)變能力了!

          5.還是老調(diào)重提,在項目中最好加入seam的支持,會讓jsf的開發(fā)變的簡單!
          posted on 2007-10-21 11:38 方順 閱讀(2030) 評論(7)  編輯  收藏 所屬分類: jsf

          評論

          # re: 當(dāng)前階段在項目中選擇jsf技術(shù)的一些建議 2007-10-21 22:50 支持jsf
          樓主說的非常有道理,如果設(shè)計到ajax,那么用jsf來寫一個組件,那么是相當(dāng)?shù)淖儜B(tài),調(diào)試是非常耗時間的  回復(fù)  更多評論
            

          # re: 當(dāng)前階段在項目中選擇jsf技術(shù)的一些建議 2007-10-21 22:52 支持jsf
          我支持jsf是因為它的render機(jī)制,同樣一個組件,可以判斷客戶端的不同,render成html,xml,wml或者其他,這是其它無法做到的,所以我覺得jsf非常的有前途  回復(fù)  更多評論
            

          # re: 當(dāng)前階段在項目中選擇jsf技術(shù)的一些建議[未登錄] 2007-10-22 11:02 方順
          jsf的render機(jī)制設(shè)計的非常優(yōu)秀,但是我還是希望jsf在render方面能多考慮開發(fā)者在開發(fā)render組件的方便性,render組件要程序渲染html等標(biāo)記,但是jsf目前尚無一個快捷渲染這些標(biāo)記的組件,我想這些會由第三方j(luò)sf支持框架解決!  回復(fù)  更多評論
            

          # re: 當(dāng)前階段在項目中選擇jsf技術(shù)的一些建議 2008-05-31 22:16 gembin
          如何集成Myfaces和OSGi!??  回復(fù)  更多評論
            

          # re: 當(dāng)前階段在項目中選擇jsf技術(shù)的一些建議 2008-07-09 23:13 有點慢
          目前用seam實現(xiàn)了個項目,就是慢,那是非常的慢。
          當(dāng)richfaces+jsf=超級慢。  回復(fù)  更多評論
            

          # re: 當(dāng)前階段在項目中選擇jsf技術(shù)的一些建議[未登錄] 2008-09-22 10:29 落葉
          我目前對JSF不抱有太大的希望了,感覺這個技術(shù)還不是很成熟,希望JSF能盡快的成熟起來。  回復(fù)  更多評論
            

          # re: 當(dāng)前階段在項目中選擇jsf技術(shù)的一些建議 2009-04-24 09:15 slaser
          JSF問題很多,JSF render不同的內(nèi)容是個神話。能render flash和javafx么?
          如果可以,效果怎么保證。  回復(fù)  更多評論
            

          主站蜘蛛池模板: 天气| 沁水县| 吴旗县| 依兰县| 乾安县| 两当县| 宜城市| 栾城县| 屯昌县| 泰和县| 香格里拉县| 崇左市| 大兴区| 高清| 平顶山市| 遂宁市| 博湖县| 托里县| 卓资县| 方城县| 辉南县| 芜湖市| 四子王旗| 礼泉县| 报价| 阿坝县| 繁昌县| 灵石县| 富蕴县| 高要市| 昆山市| 玉龙| 漳平市| 元氏县| 于都县| 云林县| 阳信县| 康马县| 太谷县| 安庆市| 余江县|