FreeMarker學(xué)習(xí)之a(chǎn)ssign指令

assign指令

使用方法

<#assign name1=value1 name2=value2 ... nameN=valueN>
或
<#assign same as above... in namespacehash>
或
<#assign name>
  capture this
</#assign>
或
<#assign name in namespacehash>
  capture this
</#assign>
  • name:變量名。
  • =:賦值操作符。 它也可以是一個(gè)簡(jiǎn)寫(xiě)的賦值操作符(從 FreeMarker 2.3.23 版本開(kāi)始): ++,--+=-=, *=,/=%=。比如 <#assign x++><#assign x = x + 1> 是一樣的,并且 <#assign x += 2><#assign x = x + 2> 是相同的。 請(qǐng)注意, ++ 通常意味著算術(shù)加法 (對(duì)于非數(shù)字將會(huì)失敗),不像 ++= 可以進(jìn)行字符連接等重載操作。
  • value: 存儲(chǔ)的值。是表達(dá)式。
  • namespacehash:(通過(guò) [import] 為命名空間創(chuàng)建的哈希表。是表達(dá)式。

舉例

  • 1、定義簡(jiǎn)單類(lèi)型
<#assign name="李四">
姓名:${name}
  • 2、定義對(duì)象類(lèi)型
<#assign info={"name":"張三","address":"上海"}>
姓名:${info.name}
地址:${info.address}

描述

使用該指令你可以創(chuàng)建一個(gè)新的變量, 或者替換一個(gè)已經(jīng)存在的變量。
比如:變量 seq 存儲(chǔ)一個(gè)序列:

<#assign seq = ["foo", "bar", "baz"]>

比如:變量 x 中存儲(chǔ)增長(zhǎng)的數(shù)字:

<#assign x++>

可以使用一個(gè) assign 標(biāo)記來(lái)定義定義多個(gè)變量

<#assign 
seq = ["foo", "bar", "baz"]
  x++
>

assign 的極端使用是當(dāng)它捕捉它的開(kāi)始標(biāo)記和結(jié)束標(biāo)記中間生成的輸出時(shí)。 也就是說(shuō),在標(biāo)記之間打印的東西將不會(huì)在頁(yè)面上顯示, 但是會(huì)存儲(chǔ)在變量中。比如:

<#macro myMacro>foo</#macro>
<#assign x>
  <#list 1..3 as n>
    ${n} <@myMacro />
  </#list>
</#assign>
Number of words: ${x?word_list?size}
${x}

將會(huì)輸出:
Number of words: 6
    1 foo
    2 foo
    3 foo

不可以使用它來(lái)往字符串中插入變量:

<#assign x>Hello ${user}!</#assign> <#-- 錯(cuò)誤 -->

你可以這么來(lái)寫(xiě):

<#assign x="Hello ${user}!">
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類(lèi)型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,621評(píng)論 1 32
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂(lè)視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,757評(píng)論 11 349
  • FreeMarker的模板文件并不比HTML頁(yè)面復(fù)雜多少,FreeMarker模板文件主要由如下4個(gè)部分組成: 1...
    年輕小伙程序員閱讀 3,161評(píng)論 0 5
  • 那一天你穿起了白大褂 在夕陽(yáng)和楓葉里旋轉(zhuǎn) 我多么希望 坐著凝視著你 堅(jiān)持一萬(wàn)小時(shí) 寫(xiě)首轟烈的小詩(shī)。
    留子堯閱讀 412評(píng)論 0 8
  • 每次到這個(gè)糾結(jié)的時(shí)候,很沒(méi)安全感,特別想逃,其實(shí)是我自己錯(cuò)了,也許是,應(yīng)該是。對(duì)你發(fā)了火我不知道是愧疚感還是害怕從...
    hunny木子閱讀 270評(píng)論 0 0

友情鏈接更多精彩內(nèi)容