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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

調(diào)用方法:

①<@user_def_dir_exp param1=val1 param2=val2 ... paramN=valN/> (xml風(fēng)格)
②<@user_def_dir_exp param1=val1 param2=val2 ... paramN=valN ;lv1, lv2, ..., lvN/> ?(包含循環(huán)變量)
③<@user_def_dir_exp ...>...</@user_def_dir_exp>(使用結(jié)束標(biāo)簽1)
④<@user_def_dir_exp ...>...</@>(使用結(jié)束標(biāo)簽2)

說(shuō)明:

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

    <@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>

    結(jié)束標(biāo)簽:

    你可以在結(jié)束標(biāo)簽中忽略 user_def_dir_exp 。也就是說(shuō),你可以寫(xiě) </@> 來(lái)替代</@anything> 。這個(gè)規(guī)則當(dāng)表達(dá)式 user_def_dir_exp 太復(fù)雜時(shí)非常有用,因?yàn)槟悴恍枰诮Y(jié)束標(biāo)簽中重復(fù)表達(dá)式。

    位置參數(shù)傳遞:

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

    循環(huán)變量:

    自定義指令創(chuàng)建循環(huán)變量(和 list 指令相似)。當(dāng)你調(diào)用指令(如 <#list foos as foo>...</#list> 中的 foo )時(shí)循環(huán)變量的名稱就給定了,而變量的值是由指令本身設(shè)置的。在自定義指令的情形下,語(yǔ)法是循環(huán)變量的名稱在分號(hào)之后給定。

    <#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>


    注意由自定義指令創(chuàng)建的循環(huán)變量數(shù)量和分號(hào)之后指定的循環(huán)變量數(shù)量需要不匹配。也就是說(shuō),如果你對(duì)重復(fù)是否是最后一個(gè)不感興趣,你可以簡(jiǎn)單來(lái)寫(xiě):

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

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/kjitboy/p/5094341.html

    總結(jié)

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

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。