作者violet90079 (ˊ__>ˋ)
看板java
標題[問題] 透過EL動態取KEY後從MAP取值
時間Sat Nov 17 00:35:18 2012
版上各位先進好
小弟先試著google過滿多資料的 但嘗試很久仍舊無法透過
EL動態取得KEY後再取MAP的值
以下是程式碼片段
某Servlet
ServletContext context = getServletContext();
HashMap<Long, String> serviceStatusMap = new HashMap<Long, String>();
serviceStatusMap.put(new Long(0), "零");
serviceStatusMap.put(new Long(1), "一");
context.setAttribute("serviceStatusMap", serviceStatusMap);
某JSP
// myBean是一隻JavaBean程式 並且有getStatus(),只會回傳Long 0或1
<c:set var="val" value="${myBean.status}"/>
<c:out value="${serviceStatusMap[val]}"/>
這是我從網路上看到的動態key存取map的值的作法,
但是測了一個晚上都看不到結果.....
謝謝各位 ╭(─╴╴─)╮ ▃▇
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.54.120
1F:推 PsMonkey:==.=== 你至少也先保證 val 是你想要的值吧? 11/17 11:15
2F:→ violet90079:我有試過印出該val 確定是我設定的0or1 11/17 11:24
※ 編輯: violet90079 來自: 140.115.236.64 (11/17 11:24)
3F:推 duck10704:沒有exception可以看嗎 11/17 18:57
4F:推 mintle:先把${myBean.status}印出來看看 11/17 22:41
5F:推 mintle:然後再印印看${serviceStatusMap[myBean.status]}" 11/17 22:43
6F:→ violet90079:沒有exception可以看 單純畫面上沒有值... 11/17 23:58
7F:→ violet90079:mintle大 我有先試過印出該值 也確實是 0/1 11/17 23:59
8F:→ violet90079:但放到map中要取值時卻取不到任何東西-.- 11/18 00:01
9F:推 LaPass:new Long(0)應該可以用1L代替,會比較省事.... 11/18 00:06
10F:→ LaPass: 0L 11/18 00:07
11F:→ violet90079:雖然我還沒學到其他framework 但老師要我們先養成用 11/18 11:37
12F:→ violet90079:物件的好習慣 11/18 11:38
13F:推 PsMonkey:JVM 會幫你作 autoboxing,所以沒差 11/18 11:56