作者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