Play Framework 常用标签 list,set,如何遍历 list、map 类型数据
最近一段时间的项目都是在 Play 这个框架上进行开发的,挺强大的,但不足之处也挺多的。今天分享下 play 中强大的标签,遍历 list,map 类型的数据的用法。
遍历单纯的 list 数据,例如:List 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;
//知道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}
最后修改于 2013-01-29