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

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

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

    閑人野居
    好好學(xué)習(xí),天天向上
    posts - 57,  comments - 137,  trackbacks - 0
      對(duì)于標(biāo)記庫(kù),不想再說(shuō)些什么了。jsf可能最大的毛病都在這個(gè)標(biāo)記庫(kù)上面,首先定義的標(biāo)記在jsp中,并不起到相應(yīng)的輸出功能,而只是用來(lái)增加相應(yīng)得組件。在jsf中,最上層的組件為UIViewRoot,基本上所有的操作都是需要圍繞著此組件。而標(biāo)記庫(kù)的存在,只是為了簡(jiǎn)化相應(yīng)的操作。如下的標(biāo)記:
    <f:view>
        
    <h:form>
         
    <h:panelGrid>
            .   
        
    </h:panelGrid>
           
    </h:form>
    </f:view>

    其實(shí)對(duì)應(yīng)的java代碼,如下:
    FacesContext context = FacesContext.getCurrentInstance();
    UIViewRoot root 
    = context.getViewRoot();
    HtmlForm form 
    = new HtmlForm();
    HtmlPanelGrid grid 
    = new HtmlPanelGrid();
    form.getChildren().add(grid);
    root.getChildren().add(form);

    也就是說(shuō)沒(méi)有標(biāo)記庫(kù),我完全可以使用java代碼完成。
        那么標(biāo)記庫(kù)的存在到底有沒(méi)有意義,意義可能就在于簡(jiǎn)化相應(yīng)的操作,想想html的屬性是比較多的,如果每個(gè)都要用java代碼去控制,那么可能對(duì)于應(yīng)用來(lái)說(shuō),顯得很不靈活,因?yàn)楦拇a畢竟沒(méi)有改jsp來(lái)的快。而且代碼需要重新編譯。所以jsf的標(biāo)記庫(kù)存在也是有點(diǎn)意義的。
    可是,現(xiàn)在的問(wèn)題是,由于jsf本身就是規(guī)范,其實(shí)現(xiàn)也就會(huì)各有不同,對(duì)于每種實(shí)現(xiàn)都會(huì)帶有自己的那一套標(biāo)記庫(kù),隨著標(biāo)記庫(kù)的增加,對(duì)于使用者來(lái)說(shuō),也是不堪忍受的重負(fù)。所以,有些時(shí)候,如果需要?jiǎng)討B(tài)做一些配置,那么還是丟棄標(biāo)記庫(kù),用java代碼來(lái)完成吧。當(dāng)然facelets,提供了一種方式,用于很靈活的擴(kuò)展多個(gè)標(biāo)記庫(kù),可是,看著那么多的標(biāo)記,總是還有些頭疼。

        其次,對(duì)于標(biāo)記庫(kù)來(lái)說(shuō),各個(gè)標(biāo)記庫(kù)的不兼容也是一個(gè)很大的問(wèn)題。就拿jstl和jsf來(lái)說(shuō),jstl的變量聲明,在jsf中肯定是沒(méi)有辦法解析的,同樣jsf中的變量,在jstl中也不能認(rèn)識(shí)。我指的是頁(yè)面聲明的變量,而不是session變量,如下的例子:
    <h:dataTable styleClass="table-background"
                                     rowClasses
    ="table-odd-row,table-even-row"
                                     cellpadding
    ="3"
                                     value
    ="#{recordBean.records}"
                                     var
    ="record"
                                     binding
    ="#{recordBean.recordData}">
       
    <c:if test="${record}">
         
       
    </c:if>
    </h:dataTable>

    在dataTable中聲明了變量record,但是在jstl中是不會(huì)認(rèn)識(shí)的。
        可能這個(gè)問(wèn)題,facelets已經(jīng)解決了,主要facelets把所有的Elcontext中的變量都結(jié)合在了一起,使用自身的FaceletsContext。
    不過(guò),如果我只是需要簡(jiǎn)單的功能,還需要使用facelets,那么也就有點(diǎn)大材小用了。況且facelets也只是提供了類似tiles的功能。
    最后,想說(shuō)的是,雖然jsf目前的ide支持,比其他框架多多了。可惜,人家都是建立在相應(yīng)的標(biāo)記庫(kù)上的,如果你定義了自己標(biāo)記庫(kù),人家不一定會(huì)認(rèn)識(shí)。所以標(biāo)記庫(kù)的存在,對(duì)于jsf來(lái)說(shuō),也許并不一定是好事情,可能sun覺(jué)得如果把jsp拋棄了,有點(diǎn)可惜。所以在升級(jí)jsf的同時(shí),也升級(jí)了相應(yīng)得jsp規(guī)范。
        個(gè)人覺(jué)得,也許模版技術(shù),可能也會(huì)是一種選擇,看看velocity和freemarker,覺(jué)得其比jsp有優(yōu)勢(shì)多了。

    posted on 2007-05-09 20:33 布衣郎 閱讀(2791) 評(píng)論(4)  編輯  收藏 所屬分類: web view技術(shù)

    FeedBack:
    # re: 關(guān)于jsf 的標(biāo)記庫(kù)
    2007-05-10 09:43 | 沖向SOA!
    標(biāo)記庫(kù)不兼容是比較煩,jsf1.2有所改善。  回復(fù)  更多評(píng)論
      
    # re: 關(guān)于jsf 的標(biāo)記庫(kù)
    2007-05-10 10:57 | Tendy
    如果沒(méi)有標(biāo)記庫(kù)
    通過(guò) new 操作符創(chuàng)建 component
    樓主覺(jué)得容易排版么?  回復(fù)  更多評(píng)論
      
    # re: 關(guān)于jsf 的標(biāo)記庫(kù)
    2007-05-10 15:49 | 布衣郎
    @Tendy
    可能這正是需要我們考慮的,也許使用模板方式,是一個(gè)很好的替換方案。不過(guò)需要更改jsf的renderer體制  回復(fù)  更多評(píng)論
      
    # re: 關(guān)于jsf 的標(biāo)記庫(kù)
    2012-07-02 09:46 | 馬云

    <2007年5月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(12)

    隨筆分類(59)

    隨筆檔案(57)

    blog

    java

    uml

    搜索

    •  

    積分與排名

    • 積分 - 357203
    • 排名 - 155

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 日韩大片在线永久免费观看网站| 91亚洲自偷手机在线观看| 国产精品亚洲综合久久 | 亚洲欧洲中文日产| 久久WWW免费人成一看片| 久久精品国产亚洲av麻豆小说 | 日韩电影免费在线观看网址| 免费一级大黄特色大片| 精品无码专区亚洲| 亚洲国产精品成人| 在线看片免费人成视频久网下载| 波多野结衣中文一区二区免费| 污污视频免费观看网站| 国产成人亚洲综合无码| 日本高清高色视频免费| 亚洲精品视频在线| 午夜国产精品免费观看 | 一级片在线免费看| 亚洲精品乱码久久久久66| 中文字幕无码精品亚洲资源网| 成年人免费视频观看| 57pao一国产成视频永久免费| 中文字幕手机在线免费看电影| 久久久久国色AV免费观看| 久久久久亚洲AV片无码下载蜜桃| 57pao一国产成视频永久免费| 亚洲一卡2卡3卡4卡乱码 在线| 日韩免费福利视频| 成全视成人免费观看在线看| 亚洲综合国产精品| 午夜成人免费视频| 日韩av无码免费播放| 亚洲乱码中文字幕小综合| 男人的天堂亚洲一区二区三区 | 亚洲电影一区二区三区| 在线观看特色大片免费视频| 另类小说亚洲色图| 久久精品国产亚洲AV无码偷窥| 国产h视频在线观看网站免费| 99精品视频免费观看| 95免费观看体验区视频|