今天看到一段代碼,感覺奇怪,就百度了一下,順便記錄下來!
我們都知道,使用el表達式去取request作用域中的值的時候是很方便,比如:
request.setAttribute("login.message", "登錄失敗");
想要取上面的login.message可以有很多方法。比如request.getAttribute()可以取到,而用el表達式也一樣,${requestScope.login.message} 看到這里有沒有覺得別扭,兩個點!其實這樣寫是錯誤的,正確的說法應該是${requestScope["login.message"] }
那么其實區別已經很明顯了,[]與.在使用方式上是一樣的.但是如果名稱中包含了"."等特殊字符,就必須使用[]來獲取。就比如上面這個例子!!!