EL(Expression Language)表達式語言

EL(Expression Language)表達式語言數組

EL的基本語法是以${開始,以}結束cookie

爲了可以方便地輸出數據,EL提供了11個內置對象,其中session

  • 2個內置對象爲了方便輸出請求參數
    1. param用來輸出請求參數的值,格式爲${param.請求參數名字}
    2. paramValues:用來獲取一對多的參數值,返回一個數組
  • 4個內置對象爲了方便輸出各個範圍的屬性
    1. pageScope:頁面範圍,即pageContext範圍
    2. requestScope:請求範圍
    3. sessionScope:會話範圍
    4. applicationScope:上下文範圍
  • 2個與請求頭有關的內置對象
    1. header:輸出某一個請求頭的值。
    2. headerValues:若是某個請求頭的值有多個,則使用headerValues返回一個數組
  • 2個其餘內置對象:cookie、initParam
    1. cookie:用來獲取cookie的值
    2. initParam:用來輸出上下文參數的值
  • 1個特殊的內置對象pageContext
    • EL中的pageContext對象能夠調用PageContext類中全部符合規範的getXxx方法


EL運算符app

  • 算術運算符
    1. ${19+2} <br>
    2. ${19-2} <br>
    3. ${19*2} <br>
    4. ${19/2} <br>
    5. ${19%2} <br>
  • 比較運算符
    1. = = 或eq表示等於
    2. != 或ne表示不等於
    3. < 或lt表示小於
    4. > 或gt表示大於
    5. <= 或le表示小於等於
    6. >= 或ge表示大於等於
  • 邏輯運算符
    1. &&或and表示交集,兩個值都是true才返回true。
    2. ||或or表示並集,兩個值只要有一個是true,即返回true。
    3. !或not表示非
  • 其餘運算符
    1. empty運算符:判斷值是否爲null,若是是null,返回true,不然返回false。
    2. 關係運算符:${A?B:C}若是A爲true,則執行B,若是A爲false,則執行C。
    3. ()運算符:經過()可改變優先級。

 

EL中提供.和[]兩種操做符來得到數據
以下面的兩行代碼等同:spa

${requestScope.cust2.custname}<br>
${requestScope["cust2"]["custname"]}

 

在某些狀況下,卻只能使用[]。
數組或集合的索引,如:code

${paramValues.hobbies[0]}<br>
${requestScope.list[1].custname}<br>

 

屬性值中包括-或者.等非字母或數字的字符。
不合法的EL:${param.user_name}
合法的EL:${param[「user_name」]}
值得注意的是,常量能夠使用「」引用,也能夠用單引號‘’引用。
屬性值不是常量,而是變量。如paramName是變量,其具體值多是name,多是date等。
不合法的EL:${param.paramName}
合法的EL:${param[paramName]}對象

EL除了能夠方便的獲取數據外,還能夠方便地進行數據類型轉換
在EL中,對null值不顯示,也不會拋出異常
在表達式中,對null值要麼直接顯示,要麼拋出異常blog

相關文章
相關標籤/搜索