<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 12.10. 宏 \#macro 腳本元素允許模板設計者在VTL 模板中定義重復的段。 Velocimacros 不管是在復雜還是簡單的場合都非常有用。下面這個Velocimacro,僅用來節省擊鍵和減少排版錯誤,介紹了一些Velocity宏的概念。 ``` #macro( d ) <tr><td></td></tr> #end ``` 在例子中,Velocimacro定義為d,它可以象調用其他VTL指令一樣的形式來進行調用: ``` #d() ``` 當這個模板被調用時, Velocity 將 #d() 替換為一個單行的空表格。 Velocimacro 可以帶一些參數,也可以不帶參數(如上例所示)。但在他被調用時,所帶的參數必須和其定義時的參數一樣。很多Velocimacros 定義為不止一個參數。下面這個宏帶有兩個參數,一個顏色,一個數組。 ``` #macro( tablerows $color $somelist ) #foreach( $something in $somelist ) <tr><td bgcolor=$color>$something</td></tr> #end #end ``` 在這個例子中定義的Velocimacro,名為tablerows, 要求兩個參數。第一個參數代替$color, 第二個代替$somelist。 可以寫進VTL 模板中的東西都可以寫進Velocimacro 的主體部分。tablerows 宏其實是一個foreach 語句。在#tablerows 宏的定義中有兩個#ende語句,第一個屬于#foreach, 第二個結束宏定義。 ``` #set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] ) #set( $color = "blue" ) <table> #tablerows( $color $greatlakes ) </table> ``` 請注意$greatlakes 替換了$somelist。這樣,當#tablerows 宏被調用時,將產生以下輸出: ``` <table> <tr><td bgcolor="blue">Superior</td></tr> <tr><td bgcolor="blue">Michigan</td></tr> <tr><td bgcolor="blue">Huron</td></tr> <tr><td bgcolor="blue">Erie</td></tr> <tr><td bgcolor="blue">Ontario</td></tr> </table> ``` Velocimacros 在Velocity 模板語句內定義,這意味著它在同一站點內的其他Velocity 模板中并不有效。定義一個宏,并使其與其他模板共享很具有明顯的優點:他減少了在大量的模板內重復定義宏的工作,并減少了出錯的機會,并確保對其他宏的改變對其他所有模板有效。 但如果 #tablerows($color $list) 宏是在一個Velocimacros 模板庫內定義的,它就可以被其他常規模板所用。當然,它可以用于各種目的,也可重用多次。在表示所有真菌類(fungi)的mushroom.vm 模板中,#tablerows 宏可以被用來列出典型的蘑菇。 ``` #set( $parts = ["volva","stipe","annulus","gills","pileus"] ) #set( $cellbgcol = "#CC00FF" ) <table> #tablerows( $cellbgcol $parts ) </table> ``` 我們對mushroom.vm執行請求,Velocity 將在模板庫內找到#tablerows 宏 (在velocity.properties 文件中定義)并產生以下輸出: ``` <table> <tr><td bgcolor="#CC00FF">volva</td></tr> <tr><td bgcolor="#CC00FF">stipe</td></tr> <tr><td bgcolor="#CC00FF">annulus</td></tr> <tr><td bgcolor="#CC00FF">gills</td></tr> <tr><td bgcolor="#CC00FF">pileus</td></tr> </table> ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看