天天看點

freemarker 模闆中定義變量

在模闆中能夠定義三種類型的變量:

簡單變量:它能從模闆中的不論什麼位置來訪問,或者從使用 include 指令引入的模闆訪問。

能夠使用 assign 或 macro 指令來建立或替換這些變量。

局部變量:它們僅僅能被設定在宏定義體内,并且僅僅在宏内可見。一個局部變量的生存周期僅僅是宏的調用過程。能夠使用 local 指令在宏定義體内建立或替換局部變量。

循環變量:循環變量是由指令(如 list )自己主動建立的,并且它們僅僅在指令的開始和結束标記内有效。宏的參數是局部變量而不是循環變量。

示範樣例:使用 assign 建立和替換變量

局部變量也會隐藏(不是覆寫)同名的簡單變量。循環變量也會隐藏(不是覆寫)同名的局部變量和簡單變量。比如:

注意到循環變量的設定是通過指令調用時建立的(本例中的 <list ...> 标簽)。

沒有其它的方式去改變循環變量的值(也就是說你不能使用定義指令來改變它的值。

)。

從上面的示範樣例來看,雖然也能夠使用一個循環變量來隐藏另外一個。

有時會發生一個變量隐藏資料模型中的同名變量,可是如果想訪問資料模型中的變量,就能夠使用特殊變量 globals 。比如,如果我們在資料模型中有一個名為 user ,值為”BigJoe”的變量。