Freemarker之#list的排序

来源:互联网 发布:mac移动硬盘分区 编辑:程序博客网 时间:2024/06/06 19:56

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>