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

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

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

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    [導入]tag技術

    Posted on 2005-12-02 22:59 canonical 閱讀(847) 評論(2)  編輯  收藏 所屬分類: 軟件開發

        tag在國內java社區并不算流行,這在很大程度上是因為jsp tag的設計失誤造成的。但在整個開發業界內,tag已經成為一種廣泛應用的技術。微軟的dotNet服務器端極端依賴tag技術,而在瀏覽器端IE的 behaviour, htc也獨立的發展起來。Longhorn的XAML, Firefox的XUL無一例外的依賴于可自定義的tag。java社區的JSF, SiteMesh, Tiles 等等,不可盡數。有些人在前臺通過給html原有元素增加自定義屬性,然后通過javascript去解釋的做法,也是一種element enhance概念的變種。至于FreeMarker這種模板語言,明明類似于tag技術,偏偏不采用xml語法,簡直是自找麻煩。
        這里最關鍵的地方就是自定義tag可以實現抽象層次的提升,是一種類似于函數封裝的機制,從而實現概念的分離和明確化。基于tag可以實現頁面元素的組件 化,加上xml語法的可理解性,表達能力以及無與倫比的集成能力,使得tag技術可以超越VB等組件開發環境(想想集成別人的組件代碼難還是集成別人的 xml描述文件難)。自定義tag提供的抽象能力不僅僅是面向對象的,而且是類似AOP的,這些都極大的輔助了我們的思考和設計。

        cocoon使用管道技術也構造了某種tag機制,但是它的效率很成問題。從數學上說多個處理函數 g, h, k可以通過函數組合(composition)構成新的函數f

        f(data) = g * h * k(data) 

    這是所謂函數式語言強大能力的源泉。cocoon處理的時候從k(data)開始,處理完畢之后調用h, 即函數是從右向左結合的。如果我們保證處理函數滿足左結合律,則g*h*k就可以預編譯為f, 從而解決性能問題,這正是witrix平臺中tpl技術所采用的方案。

    Feedback

    # re: [導入]tag技術  回復  更多評論   

    2005-12-03 18:40 by calvin
    能不能展開論述jsp tag失敗在哪里呢

    # re: [導入]tag技術  回復  更多評論   

    2005-12-03 22:12 by canonical
    jsp tag最核心的設計問題在于它所假設的模型是動態io處理,而缺乏對于xml結構的充分利用。對于具體的表現, 我已經在一篇blog中作了評述。
    http://canonical.blogdriver.com/canonical/572201.html
    主站蜘蛛池模板: 亚洲av无码潮喷在线观看| 色窝窝亚洲av网| 中文字幕在线亚洲精品| 天天天欲色欲色WWW免费| 日韩人妻一区二区三区免费| 日日躁狠狠躁狠狠爱免费视频| 中文字幕在线观看亚洲视频| 亚洲精品成人久久| 国产成A人亚洲精V品无码| 亚洲国产一级在线观看| 国产男女猛烈无遮挡免费视频| 99久久久国产精品免费无卡顿| 久久久久久一品道精品免费看| 本道天堂成在人线av无码免费| 亚洲av无码片vr一区二区三区| 2020国产精品亚洲综合网| 亚洲欧洲日韩综合| 91嫩草私人成人亚洲影院| 亚洲AV无码专区国产乱码4SE| 亚洲日本va中文字幕久久| 精品国产亚洲男女在线线电影| 亚洲成AV人网址| 内射无码专区久久亚洲 | 亚洲成AV人片在线观看无| 亚洲一本大道无码av天堂| 亚洲国产小视频精品久久久三级 | 亚洲国产日韩精品| 亚洲日产2021三区| 亚洲性色成人av天堂| 亚洲性一级理论片在线观看| 亚洲一级在线观看| 亚洲综合欧美色五月俺也去| 亚洲国产亚洲综合在线尤物| 亚洲国产精品专区| 亚洲中文字幕久久精品蜜桃| 中文字幕无码精品亚洲资源网久久| 亚洲人成电影网站久久| 亚洲AV无码无限在线观看不卡| 亚洲中文无码永久免| 狠狠入ady亚洲精品| 一级免费黄色大片|