java中Freemarker list指令详解
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指令详解相关推荐
- Java中的static关键字详解
** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...
- java中的进制输出转换_Java I/O : Java中的进制详解
作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...
- Java中的main()方法详解
源文作者:leizhimin 源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...
- C#中的预处理指令详解
这篇文章主要介绍了C#中的预处理指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregion ...
- Java中的Runtime类详解
Java中的Runtime类详解 1.类注释 /**Every Java application has a single instance of class Runtime that allows ...
- java中properties作用,Java中Properties的使用详解
Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支 持的配置文件,配置文件中很多变量是经常改变的,这样做也 ...
- Linux中的ps指令详解
[时间]2018.12.16 [题目]Linux中的ps指令详解 转载地址:https://www.cnblogs.com/exe19/p/5511733.html 概述 要对进程进行监测和控制,首先 ...
- Java 中的伪共享详解及解决方案
转载自 Java 中的伪共享详解及解决方案 1. 什么是伪共享 CPU 缓存系统中是以缓存行(cache line)为单位存储的.目前主流的 CPU Cache 的 Cache Line 大小都是 ...
- java中list和map详解
java中list和map详解 一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedL ...
最新文章
- 在kotlin companion object中读取Bean,注入Bean对象
- 2400门课:MIT 开放迄今最全 计算机+电气工程课程
- volatile关键字对
- python sqlalchemy操作SQLite
- Django资源大全
- Ubuntu16.04手工搭建emscripten编译环境
- SCCM 2007系列教程之六使用组策略实现SCCM客户端
- APP测试流程和测试点
- [渝粤教育] 苏州大学文正学院 网络互联技术与实践 参考 资料
- 前端学习(3256):react中添加todolist
- 前端学习(1940)vue之电商管理系统电商系统之代码提交
- 微服务架构与SpringCloud
- 神州数码否认买下华为荣耀,股价连续第二日涨停,创历史新高!
- 什么是立即执行函数,有什么作用?
- educoder算法设计与分析 实验三 动态规划实验
- 基于Tensorflow Object Detection API 的哆啦A梦检测
- 使用多线程爬取笔趣阁
- 64位服务器IIS7.5运行ASP网站连接数据库错误解决方案
- android删除自带应用程序,安卓手机自带软件怎么卸载?无需root卸载安卓手机自带软件方法...
- AD绘制PCB板框+定位孔(Altium Designer)
热门文章
- 基于keepalived对redis做高可用配置---转载
- 菜菜sklearn——XGBoost(2)
- 原来评分卡模型的概率是这么校准的!
- 大洗牌中的中国服务业:这个冬天远比你想象中寒冷
- fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择 作者:机器人圈 / 微信号:ROBO_AI发表时间 :2017-07-28 图:pixabay
- 再理解RankNet算法
- 机器学习和图像识别是怎样彻底改变搜索的?
- 深入理解分布式技术 - 理论基石 CAP
- 并发编程-04线程安全性之原子性Atomic包的4种类型详解
- Spring MVC-使用Spring Tool Suite IDE搭建Spring MVC开发环境