這些內建函式只能用於list
和items
指令 的迴圈變數 (也可以用於已經廢棄的foreach
指令)。 下面是一些說明(loopvar?index
在可以列表的值中進行迭代,返回從0開始的索引):
<#-- note: x is a loop variable --><#list ['a', 'b', 'c'] as x>
$
0當12
list
指令不指定迴圈變數時, 這些內建函式就作用於items
指令的迴圈變數:
<#list ['a', 'b', 'c']>
<#list ['a', 'b', 'c'] as x>note:<#assign y = x>
$ <#-- error: y isn't a loop variable -->
該內建函式從 freemarker 2.3.23 版本開始可用。
返回當前迭代(由迴圈變數名稱識別)從1開始的索引。
<#list ['a', 'b', 'c'] as i>$: $
1: anote:2: b
3: c
要從0開始的索引,請使用index
內建函式。
note:
該內建函式從 freemarker 2.3.23 版本開始可用。
辨別迴圈項是否是當前迭代(由迴圈變數名稱識別)的最後一項。
<#list ['a', 'b', 'c'] as i>$
true true falsenote:
使用逗號等隔開迴圈項,請使用<#sep>separator
來代替<#if var?has_next>separator
,這樣可讀性更強。(此外經常被忽略,比如在
<#list... as var>...$...
<#sep>separator
中)
note:
如果需要對該內建函式取反,請使用var?is_last
來代替!var?has_next
, 因為它的可讀性更強。
note:
該內建函式從 freemarker 2.3.23 版本開始可用。
返回當前迭代(由迴圈變數名稱識別)從0開始的索引。
<#list ['a', 'b', 'c'] as i>$: $
0: anote:1: b
2: c
要從1開始的索引,請使用counter
內建函式。
note:
該內建函式從 freemarker 2.3.23 版本開始可用。
辨別迴圈項是否是當前迭代(由迴圈變數名稱識別)間隔1的奇數項。
<#list ['a', 'b', 'c', 'd'] as i>$
false true false truenote:
要將**進行行間變色等操作,請使用var?item_parity
或var?item_cycle(...)
來代替。
note:
該內建函式從 freemarker 2.3.23 版本開始可用。
辨別迴圈項是否是當前迭代(由迴圈變數名稱識別)的第一項。
<#list ['a', 'b', 'c'] as i>$
true false falsenote:
該內建函式從 freemarker 2.3.23 版本開始可用。
辨別迴圈項是否是當前迭代(由迴圈變數名稱識別)的最後一項。
<#list ['a', 'b', 'c'] as i>$
false false truenote:
如果需要對該內建函式取反,請使用var?has_next
來代替!var?is_last
, 因為它的可讀性更強。
note:
使用逗號等隔開迴圈項,請使用<#sep>separator
來代替<#if var?has_next>separator
,因為它的可讀性更強。(此外經常被忽略,比如在
<#list ... as var>...$...
<#sep>separator
中)
note:
該內建函式從 freemarker 2.3.23 版本開始可用。
辨別迴圈項是否是當前迭代(由迴圈變數名稱識別)間隔1的偶數項。
<#list ['a', 'b', 'c', 'd'] as i>$
true false true falsenote:
要將**進行行間變色等操作,請使用var?item_parity
或var?item_cycle(...)
來代替。
note:
該內建函式從 freemarker 2.3.23 版本開始可用。
這是item_parity
內建函式 更為通用的版本,這裡可以指定何值來代替"odd"
和"even"
。 它也允許多餘兩個值來迴圈。
<#list ['a', 'b', 'c', 'd', 'e', 'f', 'g'] as i>$
abc一些細節:defg
note:
如果需要"odd"
和"even"
,請使用item_parity
內建函式 來代替。
note:
該內建函式從 freemarker 2.3.23 版本開始可用。
基於當前迭代(由迴圈變數名稱識別)間隔為1的索引的奇偶性, 返回字串值"odd"
或"even"
。 這通常用於**中行間的顏色變換:
<#list ['a', 'b', 'c', 'd'] as i>$
abcnote:d
請使用item_parity_cap
內建函式 來大寫"odd"
和"even"
。請使用item_cycle
內建函式 來指定自定義值,或多於兩個值。
note:
該內建函式從 freemarker 2.3.23 版本開始可用。
基於當前迭代(由迴圈變數名稱識別)間隔為1的索引的奇偶性, 返回字串值"odd"
或"even"
(請注意大寫)。
<#list ['a', 'b', 'c', 'd'] as i>$
abcnote:d
請使用item_parity
內建函式 來小寫"odd"
和"even"
。
Freemarker迴圈遍歷
迴圈格式 list 要迴圈的資料 as 迴圈後的資料 迴圈的下標 通過,item index獲取 比如 list studentlist as student 資料集 建立乙個資料集,可以是pojo也可以是map,推薦使用map map data new hashmap liststulist ne...
freemarker中迴圈顯示
有乙個list中20個物件,要求每行顯示4個,顯示5行 list名字叫 userlist,其中包含user物件 if userlist?exists list userlist as thisuser if 0 要顯示的內容 其中知識點 1 list標籤 list sequence as item ...
C C 迴圈內還是迴圈外定義變數更好?
問 方法 a widget w for int i 0 i n i 方法 b for int i 0 i n i effective c 條款 26 有一段話大概是 當乙個賦值成本低於一組構造 析構成本,定義在迴圈外 即a 比較高效,否則定義在迴圈內 即b 比較好。我的問題是 哪些情況 賦值成本低於...