zoukankan      html  css  js  c++  java
  • Play Framework常用标签list,set,如何遍历list、map类型数据

      最近一段时间的项目都是在Play这个框架上进行开发的,挺强大的,但不足之处也挺多的。今天分享下play中强大的标签,遍历list,map类型的数据的用法。

    1. 遍历单纯的list数据,例如:List<People> peoples;
      #{list peoples,as:'people'} //peoples为list对象,people为实体变量名 ,name则为实体相对应的属性值
          ${people.name}
       #{/list}
    2. 遍历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}
    3.  遍历单纯的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}
    4.  遍历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'
    5. 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小威

  • 相关阅读:
    BZOJ 3262 cdq分治 OR 树套树
    Weekly Contest 132
    1007. Minimum Domino Rotations For Equal Row
    1002. Find Common Characters
    974. Subarray Sums Divisible by K
    926. Flip String to Monotone Increasing
    918. Maximum Sum Circular Subarray
    914. X of a Kind in a Deck of Cards
    907. Sum of Subarray Minimums
    900. RLE Iterator
  • 原文地址:https://www.cnblogs.com/zivxiaowei/p/list_map_set_if_break.html
Copyright © 2011-2022 走看看