<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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 春意影院午夜爽爽爽免费| 成年18网站免费视频网站| 久久精品国产亚洲av品善| 亚洲视频在线观看一区| 亚洲午夜精品久久久久久浪潮 | 国产美女在线精品免费观看| 国产线视频精品免费观看视频| 久久精品国产亚洲AV电影网| 久久精品国产亚洲AV久| 亚洲三级电影网址| 在线日韩日本国产亚洲| 亚洲精品美女久久久久99小说| 免费黄色小视频网站| 一二三四免费观看在线视频中文版| 久久免费高清视频| aa级毛片毛片免费观看久| 国产亚洲漂亮白嫩美女在线| 亚洲日韩国产AV无码无码精品| 亚洲宅男精品一区在线观看| 久久亚洲精品成人AV| 久久亚洲AV无码精品色午夜麻| 亚洲色中文字幕无码AV| 国产日产亚洲系列最新| 亚洲精品一级无码鲁丝片| www.亚洲色图| 亚洲国产精品自产在线播放| 免费人成视频在线观看不卡| 国产在线98福利播放视频免费| 浮力影院第一页小视频国产在线观看免费| 国产精品免费网站| 国产91色综合久久免费| 国产精品成人免费福利| av免费不卡国产观看| 黄色网址免费大全| 久久久久久久免费视频| 久久精品免费一区二区喷潮 | 亚洲午夜精品在线| 亚洲入口无毒网址你懂的| 国产人成亚洲第一网站在线播放| 亚洲综合中文字幕无线码| 亚洲色大成网站www|