FreeMarker內建外掛程式對序列

2021-08-31 02:22:47 字數 1376 閱讀 3463

內建外掛程式對序列

一、first:序列的第乙個值,如果序列為空,模板處理時會拋異常

<#assign maple=[『hhh』,』bbb』,』ccc』,』ddd』,』eee』,』ttt』,』hhh』]>

$將輸出hhh

二、last:序列的最後乙個值,如果序列為空,也會拋異常

$將輸出hhh

三、seq_contains:判斷乙個序列中是否存在某個值(存在於freemarker2.3.1及以後版本中)

這個內建外掛程式前面加乙個字首seq_用來區分在string操作中的contains

這裡seq_contains返回的是boolean,不能直接使用${}將其輸出,如:$,這個寫法是錯誤,但如果你一定要輸出的話,可以將boolean轉換為string,即:$

四、seq_index_of:這個內建外掛程式存在於freemarker23.1中,返回的是指定值在序列中的索引,前面加上seq_字首是用於區分string中的index_of內建外掛程式。

返回的是第一次出現指定值在序列中的索引,如果沒有匹配的值返回-1

如:$將返回3

五、seq_last_index_of:序列中最後一次出現某個值的索引,如果沒有返回-1

$六、reverse:反序

七、size序列的大小

八、sort:排序,返回公升序排列。使用語言環境的特定詞彙排序

九、sort_by:根據制定的內容排序

<#assign ls=[,,

,,]>

<#list ls?sort_by(『name』) as i>

$:$<#list?>

<#list ls?sort_by(『weight』) as i>

$:$十、chunk:塊。

在freemarker2.3.3中存在

這個內建外掛程式是對序列進行分割,建立多個序列,大小根據引數斷定。

chunk有兩個引數chunk(length,fill);

第乙個引數表示建立小序列的大小,如果不書寫第二個引數,最後乙個序列大長度可能小於這個值

如果書寫第二個引數,最後乙個序列的程度若小於length,就會使用該引數進行填充。

如:<#assign maple=[『hhh』,』bbb』,』ccc』,』ddd』,』eee』,』ttt』,』hhh』]>

<#list maple?chunk(3) as row>

<#list row as cell>

$<#list maple?chunk(3,』-』) as row>

<#list row as cell>

$輸出結果:

hhhbbb

cccddd

eeettt

hhhhhh

bbbccc

dddeee

ttthhh

FreeMarker內建函式

freemarker還提供了一些內建函式來轉換輸出,可以在任何變數後緊跟?後緊跟內建函式,就可以通過內建函式來輪換輸出變數.下面是常用的內建的字串函式 html 對字串進行html編碼 cap first 使字串第乙個字母大寫 lower case 將字串轉換成小寫 upper case 將字串轉換...

freemarker內建函式介紹

sequence的內建函式 1.sequence?first 返回sequence的第乙個值。2.sequence?last 返回sequence的最後乙個值。3.sequence?reverse 將sequence的現有順序反轉,即倒序排序 4.sequence?size 返回sequence的大...

Eclipse下freemarker外掛程式的安裝

freemarker 是乙個非常優秀的模板引擎,乙個用來根據模板生成文字輸出的通用工具,我們可以用它來生成例如html這樣的文字,freemarker本身提供了乙個eclipse的外掛程式用於編寫freemarker模板檔案,這個外掛程式主要是提供了語法高亮 語法錯誤提示以及模板檔案的概要資訊 第二...