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

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

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

    badqiu

    XPer
    隨筆 - 46, 文章 - 3, 評論 - 195, 引用 - 0
    數據加載中……

    擴展Velocity,實現模板的繼承

    與我之前的擴展freemarker類似,現新增加三個指令:block,override,extends

    一.目的:

    • 父模板頁面定義好布局,子模板可以重定義布局中的部分內容
    • 使模板可以實現類似"類"的繼承關系,并不限繼承層次

    二.繼承概欖:

    父模板:base.vm

    <html>
    <head>
        #block("head") 
            base_head_content 
        #end 
    </head>
    <body> 
        #block("body") 
            base_body_content 
        #end
    </body>
    </html>

     

    子模板: child.vm

    #override("body")
        
    <div class='content'>
            Powered By rapid-framework
        
    </div> 
    #end
    #extends("base.vm")

     

    子模板child.vm輸出

    <html>
        
    <head>
            base_head_content 
        
    </head>
    <body> 
        
    <div class='content'>
            Powered By rapid-framework
        
    </div> 
    </body>
    </html>

     

    可以看到,輸出中body部分被子模板重定義(override)了,而head部分則還是顯示父模板(block)中的內容。

     

    三.指令介紹:

    • #block : 定義塊,可以被子模板用#override指令覆蓋顯示
    • #override : 覆蓋#block指令顯示的內容
    • #extends : 繼承其它模板,必須放在模板的最后面(注:該指令完全等價于#parse指令,只是為了提供統一的語義,即extends比parse更好理解)

    四.使用說明:

    在velocity的properties中可以設置:

    userdirective=cn.org.rapid_framework.velocity.directive.BlockDirective,cn.org.rapid_framework.velocity.directive.OverrideDirective,cn.org.rapid_framework.velocity.directive.ExtendsDirective
    然后再初始化,即使用自定義指令:
    velocityEngine.init(properties);
    使用注意(性能):
    必須為velocity的ResourceLoader開啟cache,因為 engine.getTemplate(name) 默認是沒有使用cache的,而#extends是需要經常調用該函數,所以必須為ResourceLoader指定開啟cache,如FileResourceLoader
    
    
    file.resource.loader.cache = true

    以上三個指令屬于rapid-framework的擴展,后續新版本發布將包含該項擴展,敬請關注。
    具體指令源碼請查看:
    http://rapid-framework.googlecode.com/svn/trunk/rapid-framework/src/rapid_framework_common/cn/org/rapid_framework/velocity/directive/

    posted on 2009-12-28 20:55 badqiu 閱讀(3463) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产 亚洲 中文在线 字幕| 亚洲娇小性色xxxx| 亚洲国产一二三精品无码| 国产亚洲午夜高清国产拍精品| 亚洲va在线va天堂成人| 九九热久久免费视频| 99久在线国内在线播放免费观看| 人人狠狠综合久久亚洲| 国产精品亚洲专一区二区三区| 亚洲国产AV无码专区亚洲AV| 亚洲一区免费视频| 国产精品成人亚洲| 精品日韩亚洲AV无码| 亚洲狠狠成人综合网| 操美女视频免费网站| 国产一级高清视频免费看| 国产亚洲精品国看不卡| 国产精品视频全国免费观看| 老司机永久免费网站在线观看| 91香蕉视频免费| 亚洲精品无码永久在线观看 | 在线免费观看一级毛片| 亚洲成色www久久网站夜月| a在线免费观看视频| 国产v片免费播放| 一级做a爰片久久毛片免费看| 国产黄在线播放免费观看| 免费看小12萝裸体视频国产| 日韩成人毛片高清视频免费看| 精品亚洲国产成人av| 亚洲精品在线免费看| 亚洲日产无码中文字幕| 免费无遮挡无遮羞在线看| 国产亚洲精品va在线| 1000部拍拍拍18勿入免费视频软件| 搡女人免费视频大全| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 日韩免费观看一区| 亚洲永久无码3D动漫一区| 3d动漫精品啪啪一区二区免费| 亚洲色成人中文字幕网站|