免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3120 | 回复: 0
打印 上一主题 下一主题

EL表达式Map取值的隐含问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-27 18:20 |只看该作者 |倒序浏览
EL表达式Map取值的隐含问题



EL表达式取Map中的值,非常简单${numberMap[key]}就可以,但是要注意,如果你的numberMap是这样的:

Java代码
  1. HashMap<Integer, String> numberMap= new HashMap<Integer, String>();
  2. numberMap.put(0, "零");
  3. numberMap.put(1, "一");
复制代码
在jsp页面中${numberMap[1]}将取不到值,因为el表达式中数字1是Long类型(好BT啊,都没加L啊),无法匹配到numberMap中的Integer 1 。明白了原理,事儿就好办了。修改numberMap:

Java代码
  1. HashMap<Long, String> map = new HashMap<Long, String>();
  2. map.put(0L, "零");
  3. map.put(1L, "一");
复制代码
然后就随心所欲哈${numberMap[1]},${numberMap[1 - 1]}均可取到值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP