緣由El表達式在調用Map的時候,后臺傳過來的Map的key不一定是一個固定的值,需要根據(jù)另外一個對象的id作為key來put,或者更加復雜的組合id+"string"作為一個key,對于平常使用開固定的key的我來說,以前學過也忘記了,一時想不出怎么做,現(xiàn)在我們來復習一下。 情景假設有一個情景:我們后臺返回一個對象的list,我們根據(jù)對象的id作為key放一些關鍵的值作為value存入Map中。而前臺負責顯示Map中的關鍵指標。 @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"; } 沒錯,我們的目的就是將大于80分的同學顯示評級為良。接下來是前端的處理。 先引入,標簽。 <%@taglib prefix="c" uri="http://java./jsp/jstl/core" %> 主體內容: <table> 大概就是這樣子。如果map的key是一個復雜的組合,例如map(s.getId()+"-3班","良");這樣子要怎么獲取key呢?同樣是上面的代碼: <table> <tr> <td>姓名</td> <td>分數(shù)</td> <td>評級</td> </tr> <c:forEach items="${lists }" var="s"> 如果要對字符串做更復雜的操作,可以自己做標簽庫,或者使用<%@ taglib uri="http://java./jsp/jstl/functions" prefix="fn"%>這個標簽庫。
|
|