Freemarker中遍歷List實例

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

一、?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>來完成。

二、?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>

轉載于:https://www.cnblogs.com/weipeng/archive/2012/10/11/2720017.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/377163.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377163.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377163.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

工作總結:文件對話框的分類(C++)

原文地址&#xff1a;http://www.jizhuomi.com/software/173.html 文件對話框分為打開文件對話框和保存文件對話框&#xff0c;相信大家在Windows系統中經常見到這兩種文件對話框。例如&#xff0c;很多編輯軟件像記事本等都有“打開”選項&#xff0c;選擇“打開”后會彈出一個…

《MySQL——Innodb改進LRU算法》

Innodb改進LRU.算法&#xff0c;實質上將內存鏈表分成兩段。 靠近頭部的young和靠近末尾的old&#xff0c;取5/12段為分界。 新數據在一定時間內只能在old段的頭部&#xff0c;當在old段保持了一定的時間后被再次訪問才能升級到young。 實質上是分了兩段lru&#xff0c;這樣做的…

nfc/nfc模式_NFC的完整形式是什么?

nfc/nfc模式NFC&#xff1a;沒有進一步評論 (NFC: No Further Comment) NFC is an abbreviation of "No Further Comment". NFC是“沒有進一步評論”的縮寫 。 It is an expression, which is commonly used in messaging or chatting on social media networking s…

dx小記(2)

1.構造一個平截臺體&#xff08;Frustum&#xff09; 最近距離-projMatirx.43/projMatrix.33 projMatrix。33 深度/&#xff08;深度-最近距離&#xff09; projMatrix。44-最近距離*&#xff08;深度/&#xff08;深度-最近距離&#xff09;&#xff09; FrustumMatrix proje…

jQuery: 整理4---創建元素和添加元素

1.創建元素&#xff1a;$("內容") const p "<p>這是一個p標簽</p>" console.log(p)console.log($(p)) 2. 添加元素 2.1 前追加子元素 1. 指定元素.prepend(內容) -> 在指定元素的內部的最前面追加內容&#xff0c;內容可以是字符串、…

Design a high performance cache for multi-threaded environment

如何設計一個支持高并發的高性能緩存庫 不 考慮并發情況下的緩存的設計大家應該都比較清楚&#xff0c;基本上就是用map/hashmap存儲鍵值&#xff0c;然后用雙向鏈表記錄一個LRU來用于緩存的清理。這篇文章 應該是講得很清楚http://timday.bitbucket.org/lru.html。但是考慮到高…

《MySQL——join語句優化tips》

目錄要不要用joinJoin驅動表選擇Multi-Range Read優化Batched Key Access &#xff08;BKA&#xff09;對NLJ進行優化BNL算法性能問題BNL轉BKA要不要用join 1、如果使用的是Index Nested-Loop Join算法&#xff0c;即可以用上被驅動表的索引&#xff0c;可以用 2、如果使用的…

scala中抽象類_Scala中的抽象類

scala中抽象類抽象類 (Abstract Class) In the Scala programming language, abstraction is achieved using abstract class. 在Scala編程語言&#xff0c; 抽象是使用抽象類來實現的。 Abstraction is the process of showing only functionality and hiding the details fr…

不能catch Fatal的exception

Clemens Vasters - Are you catching falling knives?里給了一個判斷C#的exception是不是fatal的代碼&#xff0c;可以參考參考。 public static bool IsFatal(this Exception exception) {while (exception ! null){if (exception as OutOfMemoryException ! null &&…

HDU 2824 The Euler function

篩法計算歐拉函數 #include <iostream> #include <cstdio> using namespace std; const int maxn3000005; long long phi[maxn]; int main(){int i,j,a,b;for(i1;i<maxn;i) phi[i]i;for(i2;i<maxn;i2) phi[i]/2;for(i3;i<maxn;i2)if(phi[i]i){for(ji;j<…

LinkChecker 8.1 發布,網頁鏈接檢查

LinkChecker 8.1 可對檢查時間和最大的 URL 數量進行配置&#xff1b;當使用 HTTP 請求時發送 do-not-track 頭&#xff1b;生成 XML 的 sitemap 用于搜索引擎優化&#xff1b;檢測 URL 長度和重復的頁面內容&#xff1b;修復了很多檢查的 bug。 LinkChecker 是一個網頁鏈接檢查…

c語言語言教程0基礎_C語言基礎

c語言語言教程0基礎Hey, Folks here I am back with my second article on C language. Hope you are through with my previous article C language - History, Popularity reasons, Characteristics, Basic structure etc. In this one, I will cover some fundamental conce…

《MySQL——臨時表》

內存表與臨時表區別 臨時表&#xff0c;一般是人手動創建。 內存表&#xff0c;是mysql自動創建和銷毀的。 內存表&#xff0c;指的是使用Memory引擎的表&#xff0c;建表語法&#xff1a;create table ... engine memeory 表的數據存在內存里&#xff0c;系統重啟后會被清…

android中ActionBar的幾個屬性

actionBar.setHomeButtonEnabled //小于4.0版本的默認值為true的。但是在4.0及其以上是false&#xff0c;該方法的作用&#xff1a;決定左上角的圖標是否可以點擊。沒有向左的小圖標。 true 圖標可以點擊 false 不可以點擊。 actionBar.setDisplayHomeAsUpEnabled(true) //…

drei

模擬9 T3 &#xff08;COGS上也有&#xff0c;鏈接http://218.28.19.228/cogs/problem/problem.php?pid1428&#xff09; 題目描述 輸入a&#xff0c;p&#xff0c;求最小正整數x&#xff0c;使得a^x mod p 1。 分析 神奇的歐拉定理&#xff08;對于gcd&#xff08;a&#xf…

《MySQL——group by使用tips》

1、如果對group by語句結果沒有排序要求&#xff0c;在語句后面加order by null 2、盡量讓group by 過程用上索引&#xff0c;確認方法是explain結果里沒有Using temporary 和Using filesort 3、如果group by 需要統計的數據量不大&#xff0c;盡量只使用內存臨時表&#xff…

css中變量_CSS中的變量

css中變量CSS | 變數 (CSS | Variables) CSS variables allow you to create reusable values that can be used throughout a CSS document. CSS變量允許您創建可在CSS文檔中使用的可重用值。 In CSS variable, function var() allows CSS variables to be accessed. 在CSS變…

位圖像素的顏色 攜程編程大賽hdu

位圖像素的顏色 Time Limit: 2000/1000 MS (Java/Others) MemoryLimit: 32768/32768 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0 Problem Description 有一個在位圖上畫出矩形程序&#xff0c;一開始位圖都被初始化為白色&#xff08;RGB顏色表示…

《MySQL——InnoDB與Memory以及臨時表》

InooDB與Memory 數據組織方式不同&#xff1a; InnoDB引擎把數據放在主鍵索引上&#xff0c;其他索引上保存的是主鍵id。為索引組織表Memory引擎把數據單獨存放&#xff0c;索引上保存數據位置。為堆組織表 典型不同處&#xff1a; 1、InnoDB表的數據總是有序存放的&#x…

Oracle 用戶 profile 屬性 轉

--查看profile 內容 select * from dba_profiles where profilePF_EAGLE; --查看用戶的profiles select username,profile from dba_users; --查看是否啟用動態資源限制參數 SHOW PARAMETER RESOURCE_LIMIT; --啟用限制 ALTER SYSTEM SET RESOURCE_LIMITTRUE SCOPEBOTH; --創建…