JSP隱式對象(9個):
1、request 2、response 3、config 4、application 5、exception 6、Session 7、page 8、out 9、pageContext
EL(運算式語言)隱式對象(11):
pageContext
對應於JSP頁面中的pageContext對象(注意:取的是pageContext對象。)pageScope代表page域中用於儲存屬性的Map對象requestScope代表request域中用於儲存屬性的Map對象sessionScope代表session域中用於儲存屬性的Map對象applicationScope代表application域中用於儲存屬性的Map對象
param表示一個儲存了所有請求參數的Map對象 paramValues 表示一個儲存了所有請求參數的Map對象,它對於某個請求參數,返回的是一個string[] header表示一個儲存了所有http要求標頭欄位的Map對象headerValues 同上,返回string[]數組。注意:如果頭裡面有“-” ,例Accept-Encoding,則要headerValues[“Accept-Encoding”]cookie表示一個儲存了所有cookie的Map對象initParam表示一個儲存了所有web應用初始化參數的map對象
JSP隱式對象類中只有一個EL隱式對象:這就是pageContext隱式對象。這與同名的JSP隱式對象實際上就是同一個對象,餘下的EL隱式對象都是Java映射(map),他們只是提供了更容易的途徑來訪問pageContext隱式對象的某些性質。
有兩個參數訪問隱式對象:可以用來訪問HTTP請求參數(表單提交參數),即param和paramValues. param 是一個用於訪問單值參數的映射, paramValues則可用於訪問可能包含多個值的參數。接下來的實驗會展示這將如何處理。
有3個首部訪問隱式對象,可以用於訪問HTTP首部:分別是header, headerValues和cookie。如果想以原始的方式訪問HTTP首部或cookie, 這些映射就很有用。
共有4個範圍隱式對象:分別為pageScope, requestScope, sessionScope和applicationScope. 這些隱式對象都是映射,利用他們可以很容易的訪問範圍屬性。例如:附加到request範圍的username屬性可以通過EL運算式${requestScope.username}來直接存取。
另外還有一個初始化參數訪問隱式對象:initParm。這個映射可以用於訪問初始化參數的值,初始化參數的值一般都在web.xml中設定。
EL(運算式語言)隱式對象的特點:
1.EL只能擷取對象的屬性、而不能改寫、也不能直接調用方法
2.EL中的字串即可以雙引好也可以單引號,類似HTML
3.EL輸出null的時候用空串("")代替 像:(empty)
4.EL運算式在計算時會將字串轉換成數值(null = = 0)
5.EL不能訪問局部變數,只能訪問範圍中的屬性
6.EL中的empty運算子將""視為null $( empty null ) && $( empty "" ) 為true
7.EL中比較字串內容使用 = =
${"2" + "4"}自動的將字元自動轉換成數字
千萬不要把JSP隱士對象和EL運算式語言隱式對象混為一談