Freemarker中list的用法

使用list进行遍历
基本遍历:

其中sequence是变量名,它代表一个list。item是我起的别名,遍历的时候,它代表LIST中的一项。

获取索引值:

索引值的获取是”别名_index”的形式。如果你起的别名是user那么就用“user_index”。

需要说明的是索引值是从0开始的。

检查有没有下一个元素。

检查有没有下一个元素的形式是”别名_has_next”,这个跟获取索引值是类似的。

这个语法通常用来判断是不是最后一个元素。而且是配合if来使用。

如果想获取list里有多少个元素,可以这么写

users是list的变量名。这个可以单独使用,不需要配合<#list>。

<#break/>可以跳出循环。

在遍历的时候,还可以对list进行排序。
排序有三个命令 sort,sort_by,reverse,前两个表示启用排序,默认是升序。reverse表示的是降序。可以配合使用
如果是基本数值,字符串日期,这么写

如果是对象的话,这么写

这是按照年龄进行升序的意思

如果我们想降序,可以配合reverse来用

下面给出一段示例:

在这段代码中,我对users进行了遍历,并让users根据id字段进行降序排列

如果id小于2,跳出循环。
在结尾显示总共有几条记录。

运行的结果是这样的:

index:0 id:4 username:user4
index:1 id:3 username:user3
index:2 id:2 username:user2
4

 要说明的是,如果值是数字的话,如果过大,会采用科学计数法,数字中间会多一个逗号,比如1,1500,这时你可用以下语法解决

{$ur.id?c}

转自:http://qy85.iteye.com/blog/1612093