java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合。

定义

<#list nameList as names>    ${names}
</#list>

name是list循环的时候取的一个循环变量.相关指令如下:
item_index:当前变量的索引值 
item_has_next:是否存在下一个对象
break:跳出迭代

//遍历MAP
<#list map?keys as k><option value="${k}">${map[k]}</option>
</#list>

方式

1. 获取或者设置list相关信息

<#list animals as ani><!-- 获取list的size长度 --><div>${list?size}<div><!-- 获取list遍历中的下标序号 --><div>${ani_index}<div><!-- 遍历list的值 --><div>${ani.name}${ani.price}<div><!-- 是否是最后一个元素 --><#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里有编号和名称,而jsskVO里只有编号 --><#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), "湖北省武汉市武昌洪山区", 78451214),new Student("李雪", "女", 20, new Date(1991 - 12 - 18), "湖北省武汉市武昌", 85451214),new Student("刘刘", "男", 22, new Date(1989 - 10 - 18), "湖南省长沙市", 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>

总结

1. List指令还隐含了两个循环变量:item_index:当前迭代项在所有迭代项中的位置,是数字值。item_has_next:用于判断当前迭代项是否是所有迭代项中的最后一项。在使用上述两个循环变量时,一定要将item换成你自己定义的循环变量名

2. Freemarker list循环过程中,如果您想跳出循环,那么可以使用结合break指令,即<#break>来完成。

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参数定义java中Freemarker macro如何嵌套内容java中Freemarker macro循环变量

from:http://www.51gjie.com/javaweb/881.html

java中Freemarker list指令详解相关推荐

  1. Java中的static关键字详解

    ** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...

  2. java中的进制输出转换_Java I/O : Java中的进制详解

    作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...

  3. Java中的main()方法详解

    源文作者:leizhimin    源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...

  4. C#中的预处理指令详解

    这篇文章主要介绍了C#中的预处理指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregion ...

  5. Java中的Runtime类详解

    Java中的Runtime类详解 1.类注释 /**Every Java application has a single instance of class Runtime that allows ...

  6. java中properties作用,Java中Properties的使用详解

    Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支 持的配置文件,配置文件中很多变量是经常改变的,这样做也 ...

  7. Linux中的ps指令详解

    [时间]2018.12.16 [题目]Linux中的ps指令详解 转载地址:https://www.cnblogs.com/exe19/p/5511733.html 概述 要对进程进行监测和控制,首先 ...

  8. Java 中的伪共享详解及解决方案

    转载自  Java 中的伪共享详解及解决方案 1. 什么是伪共享 CPU 缓存系统中是以缓存行(cache line)为单位存储的.目前主流的 CPU Cache 的 Cache Line 大小都是 ...

  9. java中list和map详解

    java中list和map详解 一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedL ...

最新文章

  1. 在kotlin companion object中读取Bean,注入Bean对象
  2. 2400门课:MIT 开放迄今最全 计算机+电气工程课程
  3. volatile关键字对
  4. python sqlalchemy操作SQLite
  5. Django资源大全
  6. Ubuntu16.04手工搭建emscripten编译环境
  7. SCCM 2007系列教程之六使用组策略实现SCCM客户端
  8. APP测试流程和测试点
  9. [渝粤教育] 苏州大学文正学院 网络互联技术与实践 参考 资料
  10. 前端学习(3256):react中添加todolist
  11. 前端学习(1940)vue之电商管理系统电商系统之代码提交
  12. 微服务架构与SpringCloud
  13. 神州数码否认买下华为荣耀,股价连续第二日涨停,创历史新高!
  14. 什么是立即执行函数,有什么作用?
  15. educoder算法设计与分析 实验三 动态规划实验
  16. 基于Tensorflow Object Detection API 的哆啦A梦检测
  17. 使用多线程爬取笔趣阁
  18. 64位服务器IIS7.5运行ASP网站连接数据库错误解决方案
  19. android删除自带应用程序,安卓手机自带软件怎么卸载?无需root卸载安卓手机自带软件方法...
  20. AD绘制PCB板框+定位孔(Altium Designer)

热门文章

  1. 基于keepalived对redis做高可用配置---转载
  2. 菜菜sklearn——XGBoost(2)
  3. 原来评分卡模型的概率是这么校准的!
  4. 大洗牌中的中国服务业:这个冬天远比你想象中寒冷
  5. fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择 作者:机器人圈 / 微信号:ROBO_AI发表时间 :2017-07-28 图:pixabay
  6. 再理解RankNet算法
  7. 机器学习和图像识别是怎样彻底改变搜索的?
  8. 深入理解分布式技术 - 理论基石 CAP
  9. 并发编程-04线程安全性之原子性Atomic包的4种类型详解
  10. Spring MVC-使用Spring Tool Suite IDE搭建Spring MVC开发环境