最近一段時間的項目都是在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}