论坛首页 Java企业应用论坛

EL表达式Map取值的隐含问题

浏览 12922 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-04-27  
俺一般key用string,不用int
0 请登录后投票
   发表时间:2011-05-12  
asd491310 写道
谢放LZ,这东西没用过,以后用的时候得注意,这样说,那JSP中数字默认是long型,而不是int型 了

这个你准备怎么验证呢?
0 请登录后投票
   发表时间:2011-06-22  
一般很少用到以经本类型为key的情况 通常都是String类型
0 请登录后投票
   发表时间:2011-09-22  
正在学习这个,好东西啊
0 请登录后投票
   发表时间:2011-09-23  
以后用到了要注意了 
0 请登录后投票
   发表时间:2011-10-08  
sswh 写道
liuhanjun 写道

在jsp页面中${numberMap[1]}将取不到值,因为el表达式中数字1是Long类型(好BT啊,都没加L啊),无法匹配到numberMap中的Integer 1 。


你用的是struts2吗?

struts2的OGNL测试:
	public static void main(String[] args) throws OgnlException {
		Map map = new HashMap();
		map.put(1, "aaa");
		map.put(2L, "bbb");
		Object o = Ognl.getValue("[1]+','+[2]+','+[2L]", map);
		System.out.println(o);
	}


运行结果是:
引用
aaa,null,bbb


结果和你的结论恰好相反。

我说的是jsp中的el表达式取值,貌似跟你说的不是一码事哈
0 请登录后投票
   发表时间:2011-10-22  
akunamotata 写道
“因为el表达式中数字1是Long类型”

那其他的都是int类型么?“0”也是...



0应该是吧,在内存里的样子和外面不同。
0 请登录后投票
   发表时间:2011-11-21  
原来是这样的啊
0 请登录后投票
   发表时间:2011-11-21  
非常感谢LZ、细节啊
0 请登录后投票
   发表时间:2011-12-01  
学习了,还真没这么用过。 都是把map的key写成字符类型的。 以后注意了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics