java中Freemarker list指令详解
java Freemarker中l(wèi)ist指令主要是進(jìn)行迭代服務(wù)器端傳遞過(guò)來(lái)的List集合。
定義
<#list nameList as names> ? ?${names} ?? </#list>name是list循環(huán)的時(shí)候取的一個(gè)循環(huán)變量.相關(guān)指令如下:
item_index:當(dāng)前變量的索引值?
item_has_next:是否存在下一個(gè)對(duì)象
break:跳出迭代
方式
1. 獲取或者設(shè)置list相關(guān)信息
<#list animals as ani><!-- 獲取list的size長(zhǎng)度 --><div>${list?size}<div><!-- 獲取list遍歷中的下標(biāo)序號(hào) --><div>${ani_index}<div><!-- 遍歷list的值 --><div>${ani.name}${ani.price}<div><!-- 是否是最后一個(gè)元素 --><#if !ani_has_next>${ani.name}</#if> </#list>2. list排序
//升序:sort_by() <#list list?sort_by("字段") as x> </#list> //降序:sort_by()?reverse <#list list?sort_by("字段")?reverse as x> </#list>3. list嵌套
<#list jsskList as jsskVO><#list kcList as kcVO><!-- kcVO里有編號(hào)和名稱,而jsskVO里只有編號(hào) --><#if kcVO.kch=jsskVO.kch>?${kcVO.kcm}</#if></#list> </#list>例子
//testList.java @Test public void testList() {List < Student > students = Arrays.asList(new Student("張三豐", "男", 26, new Date(1988 - 12 - 12), "湖北省武漢市武昌洪山區(qū)", 78451214),new Student("李雪", "女", 20, new Date(1991 - 12 - 18), "湖北省武漢市武昌", 85451214),new Student("劉劉", "男", 22, new Date(1989 - 10 - 18), "湖南省長(zhǎng)沙市", 96551214),new Student("吳明", "女", 21, new Date(1990 - 12 - 18), "廣東省深圳市", 56132012));root.put("students", students);ft.printFtl("stu.ftl", root); } //stu.ftl <html> ?<head> ?<meta http-equiv="content-type" content="text/html; charset=UTF-8"> ?</head> ?<body> ?<#list students as student> ?姓名:${student.studentName} ?性別:${student.studentSex} ?年齡:${student.studentAge} ?生日:${(student.studentBirthday)?string("yyyy-MM-dd")} ?地址:${student.studentAddr} ?QQ:${student.studentQQ}<br/> ?</#list> ?</body> ? </html>總結(jié)
1. List指令還隱含了兩個(gè)循環(huán)變量:item_index:當(dāng)前迭代項(xiàng)在所有迭代項(xiàng)中的位置,是數(shù)字值。item_has_next:用于判斷當(dāng)前迭代項(xiàng)是否是所有迭代項(xiàng)中的最后一項(xiàng)。在使用上述兩個(gè)循環(huán)變量時(shí),一定要將item換成你自己定義的循環(huán)變量名
2. Freemarker list循環(huán)過(guò)程中,如果您想跳出循環(huán),那么可以使用結(jié)合break指令,即<#break>來(lái)完成。
java中Freemarker if else指令詳解java中Freemarker switch case指令詳解java中Freemarker include指令詳解java中Freemarker import指令詳解java中Freemarker setting指令詳解java中Freemarker assign指令詳解java中Freemarker macro自定義指令詳解java中Freemarker macro參數(shù)定義java中Freemarker macro如何嵌套內(nèi)容java中Freemarker macro循環(huán)變量
from:http://www.51gjie.com/javaweb/881.html?
總結(jié)
以上是生活随笔為你收集整理的java中Freemarker list指令详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全面探索 FreeMarker 模版引擎
- 下一篇: 一篇很全面的freemarker 前端w