Freemarker中如何遍歷List

Freemarker中如何遍歷List摘要:在Freemarker應用中常常會遍歷List獲取須要的數據,並對須要的數據進行排序加工後呈現給用戶。那麼在Freemarker中如何遍歷List,並對List中數據進行適當的排序呢?
經過下文的介紹,相信您必定會找到答案。eclipse

1、 Freemarker中list指令簡單介紹
要想在Freemarker中遍歷list,必須經過使用list指令,即<#list sequence as item>…</#list>
sequence是集合(collection)的表達式,item是循環變量的名字,不能是表達式。
當在遍歷sequence時,會將遍歷變量的值保存到item中。
舉個例子說明吧:
<#list userList as user>
 …
</#list>
 userList中封裝了不少個User對象,咱們在遍歷userList時候,會將遍歷的User對象的值,保存到上述的user變量中。那麼在取值時,咱們能夠經過${user.userName }來獲取User對象的userName屬性值。
 List指令還隱含了兩個循環變量:
item_index:當前迭代項在全部迭代項中的位置,是數字值。
item_has_next:用於判斷當前迭代項是不是全部迭代項中的最後一項。
注意:在使用上述兩個循環變量時,必定要將item換成你本身定義的循環變量名,item其實就是前綴罷了。
例如,若是你使用<# list list as l>..</#list>定義,那麼就要使用l_index,l_has_next。
 
 在循環過程當中,若是您想跳出循環,那麼可使用結合break指令,即<#break>來完成。ide

2、 Freemarker中對List進行排序
一般咱們的排序操做都是經過DAO層來實現的,若是咱們想隨時更改咱們的排序,那麼就必須修改咱們的DAO層代碼,確實不方便。但Freemarker爲咱們提供了這樣的排序方法,解決了這個問題。
1. sort升序排序函數
sort對序列(sequence)進行排序,要求序列中的變量必須是:字符串(按首字母排序),數字,日期值。
<#list list?sort as l>…</#list>
2. sort_by函數
sort_by有一個參數,該參數用於指定想要排序的子變量,排序是按照變量對應的值進行排序,如:
<#list userList?sort_by(「age」) as user>…</#list>
age是User對象的屬性,排序是按age的值進行的。
3. reverse降序排序函數
    <#list list? reverse as l>…</#list>
     reverse使用同sort相同。reverse還能夠同sort_by一塊兒使用
       如:想讓用戶按年齡降序排序,那麼能夠這個樣寫<#list userList?sort_by(「age」)?reverse as user>…</#list>函數

3、 Freemarker如何遍歷List實例應用
經過上面的介紹,相信您已經對Freemarker如何遍歷List有了瞭解,那麼咱們就廢話少說,開始作一個應用吧。
this

好了,到這裏程序就結束了,您能夠運行ClientTest類來查看輸出結果了。url

Freemarker中如何遍歷List相關源碼及文件請點擊下載文章底部的相關連接。spa

但願經過本文的介紹,可讓您對FreeMarker如何遍歷List有一個清楚的瞭解。
若是您在閱讀本文的過程當中發現問題,請經過留言的形式給與批評指正,謝謝!插件

附件下載請至原文。orm

原文地址:http://www.po-soft.com/hi/hailang/blog/358對象

相關文章
相關標籤/搜索