编程语言 php java

freemaker list常用方法介绍

java HTML我帮您 1年前  0次浏览
使用list进行遍历
基本遍历:


<#list sequence as item>
${item.username}




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

获取索引值:


<#list sequence as item>
${item_index}



索引值的获取是"别名_index"的形式。如果你起的别名是user那么就用“user_index”。
需要说明的是索引值是从0开始的。

检查有没有下一个元素。


<#list sequence as item>
<#if (item_has_next)>最后一个



检查有没有下一个元素的形式是"别名_has_next",这个跟获取索引值是类似的。
这个语法通常用来判断是不是最后一个元素。而且是配合if来使用。

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


${users?size}


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

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

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


<#list sequence?sort as item>
...





如果是对象的话,这么写


<#list sequence?sort_by("age") as item>
...



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

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


<#list sequence?sort_by("age")?reverse as item>
...



下面给出一段示例:


<#list users?sort_by("id")?reverse as ur>
<#if (ur.id<2)><#break/>
<#if !ur_has_next>最后一个
index:${ur_index} id:${ur.id} username:${ur.userName}


${users?size}


在这段代码中,我对users进行了遍历,并让users根据id字段进行降序排列
如果id小于2,跳出循环。
在结尾显示总共有几条记录。



运行的结果是这样的:

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


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

发表评论