Play Framework常用标签list,set,如何遍历list、map类型数据
最近一段时间的项目都是在Play这个框架上进行开发的,挺强大的,但不足之处也挺多的。今天分享下play中强大的标签,遍历list,map类型的数据的用法。
- 遍历单纯的list数据,例如:List<People> peoples;
#{list peoples,as:'people'} //peoples为list对象,people为实体变量名 ,name则为实体相对应的属性值
${people.name}
#{/list} - 遍历list中泛化的map类型,例如:List<Map<People>> peoples;
#{list peoples,as:'people'} //peoples为list对象,people为实体变量名 ,name则为实体相对应的属性值
#{list people,as:'map'}${map.value.property}#{/list}
//第二个list将people再次转换,map取值则像正常的取值,value为map的value,可是对象类型,property则为对象类型的属性值
#{/list} - 遍历单纯的Map类型,例如:Map<id,People> people;

//如果知道map的key值,则可以直接通过一下方式获取:
${people.get(key).name}
//如果是要遍历一个map,同样适用list标签
#{list people,as:'peo'}
${peo.value.name} //peo为map变量,value为key的值,name为属性值
#{/list} //如果id是一个对象的话,获取其对象的值则可以这样:#{list people,as:'peo'}
${peo.key.name} //peo为map变量,key为对象,key为实体对象,name为属性值
#{/list}
遍历map与list的组合,例如:Map<id,List<People>> people;

//知道ID的情况下可以这样,通过get方法获取对象
#{list people.get(id),as:'peo'}
${peo.name}
#{list}
//如果people是多个map对象,则可以
#{list people,as: 'map'}
#{list map.value,as:'people'
- set,if,break标签的使用:

//模拟遍历list时的计数器
#{set count:0}//设置变量count
#{list data,as:'li'}
<h1>${count}</h1>
#{if count == 2}
<% break %> //跳出
#{/if}
#{ifelse count == 3}
<h1>${count}</h1}
#{/ifelse}
#{else}
<h1>${count}</h1>
#{/else}
#{set count:count+1}//自增
#{/list}
作者:Ziv小威
出处:http://imziv.com/
关于作者:专注于Java技术的程序员一枚,此外对JS开发保持着较高的兴趣。爱好音乐,阅读,FM等等。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
如有问题,可以邮件:wewoor@foxmail.com
微博:Ziv小威
Play Framework常用标签list,set,如何遍历list、map类型数据的更多相关文章
- JSTL详解(常用标签以及c:forEach遍历集合)
JSTL标签 一. JSTL的简介 1. 什么是JSTL 2. JSTL常用标签库 3. JSTL使用步骤 二. 核心标签库常用标签 1. c: set 标签 2. c: out 标签 3. c: i ...
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
- Struts2常用标签
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...
- JSTL与EL常用标签(转)
JSTL与EL EL相关概念 JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程 ...
- Freemaker FTL指令常用标签及语法
https://blog.csdn.net/pengpengpeng85/article/details/52070602 FTL指令常用标签及语法 注意:使用freemaker,要求所有标签必须闭合 ...
- Struts2页面开发中常用标签使用说明
1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type="text&quo ...
- struct2常用标签
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了 ...
- Struts2常用标签总结
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...
随机推荐
- placeholder修改颜色
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #f00; } ::-moz-placeholder { /* Mozilla Fir ...
- js中获得当前时间是年份和月份
js中获得当前时间是年份和月份,形如:201208 //获取完整的日期 var date=new Date; var year=date.getFullYear(); var month ...
- sql server中备份数据的几种方式
当我们在写sql脚本要对数据表中的数据进行修改的时候,为了防止破坏数据,通常在开发前都会对数据表的数据进行备份,当我们sql脚本开发并测试完成后,再把数据恢复回来. 目前备份数据,我常用的方法有以下几 ...
- js方法控制html表格的增加和删除
<!DOCTYPE html> <html> <head> <title>linshi3.html</title> <meta htt ...
- Android的SwipeToDismiss第三方开源框架模拟QQ对话列表侧滑删除,置顶,将头像图片圆形化处理。
<Android SwipeToDismiss:左右滑动删除ListView条目Item> Android的SwipeToDismiss是github上一个第三方开源框架(github ...
- C#多线程学习之(五)使用定时器进行多线程的自动管理
本文实例讲述了C#多线程学习之使用定时器进行多线程的自动管理.分享给大家供大家参考.具体分析如下: Timer类:设置一个定时器,定时执行用户指定的函数. 定时器启动后,系统将自动建立一个新的线程,执 ...
- USB鼠标按键驱动
现象:把USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能 ...
- Android事件处理--读书笔记
2013-12-28 17:57:17 1. Android提供了两种方式的事件处理:基于回调和基于监听的事件处理: 1.1 对基于监听的事件处理而言,主要做法是为Android界面组件绑定特定的事件 ...
- 线程系列4---sleep()和wait()方法区别
2013-12-25 14:49:00 1. sleep()方法是Thread类的一个静态方法,可以在任意地方被调用,而wait()方法是object类的一个方法,只能在同步代码块或者同步方法里面,通 ...
- 屏蔽Win10升级通知方法
对于有系统洁癖的我来说,不喜欢还原和自动升级,我更乐意使用全新安装的方式来装系统! 据说微软也知道这种方式有时候的确很讨人嫌,因此就低调的在美国微软社区中给出了屏蔽这项通知的官方"大法&qu ...