[問題] 透過EL動態取KEY後從MAP取值

看板java作者 (ˊ__>ˋ)時間11年前 (2012/11/17 00:35), 編輯推噓6(607)
留言13則, 5人參與, 最新討論串1/1
版上各位先進好 小弟先試著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

11/17 11:15, , 1F
==.=== 你至少也先保證 val 是你想要的值吧?
11/17 11:15, 1F

11/17 11:24, , 2F
我有試過印出該val 確定是我設定的0or1
11/17 11:24, 2F
※ 編輯: violet90079 來自: 140.115.236.64 (11/17 11:24)

11/17 18:57, , 3F
沒有exception可以看嗎
11/17 18:57, 3F

11/17 22:41, , 4F
先把${myBean.status}印出來看看
11/17 22:41, 4F

11/17 22:43, , 5F
然後再印印看${serviceStatusMap[myBean.status]}"
11/17 22:43, 5F

11/17 23:58, , 6F
沒有exception可以看 單純畫面上沒有值...
11/17 23:58, 6F

11/17 23:59, , 7F
mintle大 我有先試過印出該值 也確實是 0/1
11/17 23:59, 7F

11/18 00:01, , 8F
但放到map中要取值時卻取不到任何東西-.-
11/18 00:01, 8F

11/18 00:06, , 9F
new Long(0)應該可以用1L代替,會比較省事....
11/18 00:06, 9F

11/18 00:07, , 10F
0L
11/18 00:07, 10F

11/18 11:37, , 11F
雖然我還沒學到其他framework 但老師要我們先養成用
11/18 11:37, 11F

11/18 11:38, , 12F
物件的好習慣
11/18 11:38, 12F

11/18 11:56, , 13F
JVM 會幫你作 autoboxing,所以沒差
11/18 11:56, 13F
文章代碼(AID): #1Gfcj9sb (java)