EL表達式之sessionScope


EL 全名為Expression Language 

EL 語法很簡單,它最大的特點就是使用上很方便。接下來介紹EL主要的語法結構: 

${sessionScope.user.sex}


  所有EL都是以 ${ 為起始、以} 為結尾的。
  上述EL范例的意思是:從Session取得用戶的性別。如果使用之前JSP代碼的寫法如下:
  <%
  User user = (User)session.getAttribute("user");
  String sex = user.getSex( );
  %>

 
         

.與 [ ] 運算符 

EL 提供 . 和 [ ] 兩種運算符來導航數據。下列兩者所代表的意思是一樣的: 

${sessionScope.user.sex}等於${sessionScope.user["sex"]} 

. 和 [ ] 也可以同時混合使用,如下: 

${sessionScope.shoppingCart[0].price} 

回傳結果為shoppingCart中第一項物品的價格。 

不過,以下兩種情況,兩者會有差異: 

(1) 當要存取的屬性名稱中包含一些特殊字符,如. 或 – 等並非字母或數字的符號,就一定要使用 [ ],例如:${user.My-Name } 

上述是不正確的方式,應當改為:${user["My-Name"] } 

(2) 我們來考慮下列情況: 

${sessionScope.user[data]} 

此時,data 是一個變量,假若data的值為"sex"時,那上述的例子等於${sessionScope.user.sex}; 

假若data 的值為"name"時,它就等於${sessionScope.user.name}。因此,如果要動態取值時,就可以用上述的方法來做,但. 無法做到動態取值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM