日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FreeMarker 用户自定义指令@(3.4)

發布時間:2024/4/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FreeMarker 用户自定义指令@(3.4) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

調用方法:

①<@user_def_dir_exp param1=val1 param2=val2 ... paramN=valN/> (xml風格)
②<@user_def_dir_exp param1=val1 param2=val2 ... paramN=valN ;lv1, lv2, ..., lvN/> ?(包含循環變量)
③<@user_def_dir_exp ...>...</@user_def_dir_exp>(使用結束標簽1)
④<@user_def_dir_exp ...>...</@>(使用結束標簽2)

說明:

  • user_def_dir_exp:表達式算作是自定義指令(比如宏),將會被調用。
  • param1,param2 等:參數的名稱,它們不是表達式。
  • val1,val2 等:參數的值,它們是表達式。
  • lv1,lv2 等:循環變量的名稱,它們不是表達式。
  • 參數的數量可以是 0(也就是沒有參數)。參數的順序并不重要(除非你使用了位置參數傳遞)。參數名稱必須唯一。在參數名中小寫和大寫的字母被認為是不同的字母(也就是 Color 和 color 是不同的)。
    調用有參數的宏:

    <@list items=["mouse", "elephant", "python"] title="Animals"/> ... <#macro list title items> <p>${title?cap_first}: <ul> <#list items as x> <li>${x?cap_first} </#list> </ul> </#macro>

    結束標簽:

    你可以在結束標簽中忽略 user_def_dir_exp 。也就是說,你可以寫 </@> 來替代</@anything> 。這個規則當表達式 user_def_dir_exp 太復雜時非常有用,因為你不需要在結束標簽中重復表達式。

    位置參數傳遞:

    位置參數傳遞(如 <@heading "Preface", 1/> )是正常命名參數傳遞(如<@heading title="Preface" level=1/> )的速記形式,這里忽略了參數的名稱。如果自定義指令只有一個參數,或者對于經常使用的自定義指令它參數的順序很好記憶,速記形式應該被應用。如果你使用參數名稱,那順序就不重要了。

    循環變量:

    自定義指令創建循環變量(和 list 指令相似)。當你調用指令(如 <#list foos as foo>...</#list> 中的 foo )時循環變量的名稱就給定了,而變量的值是由指令本身設置的。在自定義指令的情形下,語法是循環變量的名稱在分號之后給定。

    <#macro repeat count> <#list 1..count as x> <#nested x, x/2, x==count> </#list> </#macro><@repeat count=4 ; c, halfc, last> ${c}. ${halfc}<#if last> Last!</#if> </@repeate><@repeat count=4 ; x, last> ${x}. Something... <#if last> This was the last!</#if>


    注意由自定義指令創建的循環變量數量和分號之后指定的循環變量數量需要不匹配。也就是說,如果你對重復是否是最后一個不感興趣,你可以簡單來寫:

    <@repate count=4 ; x> ${x}. Something... </@repate > 或者 <@repeat count=4> Something... </@repeat >

    ?

    轉載于:https://www.cnblogs.com/kjitboy/p/5094341.html

    總結

    以上是生活随笔為你收集整理的FreeMarker 用户自定义指令@(3.4)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。