日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

EL表達(dá)式怎么獲取Map的動(dòng)態(tài)key?

 tingx 2016-09-28

 緣由 

  El表達(dá)式在調(diào)用Map的時(shí)候,后臺(tái)傳過(guò)來(lái)的Map的key不一定是一個(gè)固定的值,需要根據(jù)另外一個(gè)對(duì)象的id作為key來(lái)put,或者更加復(fù)雜的組合id+"string"作為一個(gè)key,對(duì)于平常使用開(kāi)固定的key的我來(lái)說(shuō),以前學(xué)過(guò)也忘記了,一時(shí)想不出怎么做,現(xiàn)在我們來(lái)復(fù)習(xí)一下。

 情景

  假設(shè)有一個(gè)情景:我們后臺(tái)返回一個(gè)對(duì)象的list,我們根據(jù)對(duì)象的id作為key放一些關(guān)鍵的值作為value存入Map中。而前臺(tái)負(fù)責(zé)顯示Map中的關(guān)鍵指標(biāo)。

復(fù)制代碼
@RequestMapping(value="/test")
public String test(Model m){
      List<Student> lists = service.getAll();
      Map<String,String> map = new HashMap<String,String>();

      for(Student s : lists){
          if(s.getScore() > 80)
              map.put(s.getId(),"良");
     }

      m.addAttribute("lists", lists);
      m.addAttribute("map", map);   
      
      return "index";  
}
復(fù)制代碼

  沒(méi)錯(cuò),我們的目的就是將大于80分的同學(xué)顯示評(píng)級(jí)為良。接下來(lái)是前端的處理。

  先引入,標(biāo)簽。

<%@taglib prefix="c" uri="http://java./jsp/jstl/core" %>

  主體內(nèi)容:

復(fù)制代碼
<table>
    <tr>
      <td>姓名</td>
      <td>分?jǐn)?shù)</td>
      <td>評(píng)級(jí)</td>
    </tr> <c:forEach items="${lists }" var="s"> <tr> <td>${s.name }</td> <td>${s.score}</td> <td>${map[s.id]}</td> </tr> </c:forEach> </table>
復(fù)制代碼

  大概就是這樣子。如果map的key是一個(gè)復(fù)雜的組合,例如map(s.getId()+"-3班","良");這樣子要怎么獲取key呢?同樣是上面的代碼:

復(fù)制代碼
<table>
    <tr>
      <td>姓名</td>
      <td>分?jǐn)?shù)</td>
      <td>評(píng)級(jí)</td>
    </tr>
    <c:forEach items="${lists }" var="s">
    <c:set var="sid" value="${s.id }${-3班}"></c:set> <tr> <td>${s.name }</td> <td>${s.score}</td> <td>${map[sid]}</td> </tr> </c:forEach> </table>
復(fù)制代碼

  如果要對(duì)字符串做更復(fù)雜的操作,可以自己做標(biāo)簽庫(kù),或者使用<%@  taglib  uri="http://java./jsp/jstl/functions"   prefix="fn"%>這個(gè)標(biāo)簽庫(kù)。

   

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多