今天看到一段代码,感觉奇怪,就百度了一下,顺便记录下来!
我们都知道,使用el表达式去取request作用域中的值的时候是很方便,比如:
request.setAttribute("login.message", "登录失败");
想要取上面的login.message可以有很多方法。比如request.getAttribute()可以取到,而用el表达式也一样,${requestScope.login.message} 看到这里有没有觉得别扭,两个点!其实这样写是错误的,正确的说法应该是${requestScope["login.message"] }
那么其实区别已经很明显了,[]与.在使用方式上是一样的.但是如果名称中包含了"."等特殊字符,就必须使用[]来获取。就比如上面这个例子!!!