1. 程式人生 > >隱式物件

隱式物件

jsp 隱式物件(9個)

config:jsp的配置資訊
page:jsp自身物件(this)
exception:異常物件(isErrorPage=true)
response:響應
out:響應字元流
pageContext:頁面作用域
request:請求作用域 變數型別 HttpServletRequest
session:會話作用域 (同一個客戶端的多次請求) HttpSession
application:應用作用域 變數型別 ServletContext (上下文)

他們都有如下方法

.setAttribute("名", 值);   // 設定
Object 值 = .getAttribute("名"); // 獲取
Object 值 = .removeAttribute("名"); // 刪除

作用域(Scope)

<%
	// 向page作用域存入內容
	// pageContext.setAttribute("name", "張三"); 
	// 同一頁面中的資訊
    request.setAttribute("name", "李四");    // 一次請求有效的資訊(例如servlet存入結果,jsp獲取結果)
    session.setAttribute("name", "王五"); // 每個使用者(瀏覽器)獨有的資訊(例如購物車資訊)
    application.setAttribute("name", "趙六"); // 適合放全域性資訊(城市資訊, 類別資訊)
%
> <!-- 從page作用域獲取內容--> <%= pageContext.getAttribute("name")%> <!-- 從page作用域獲取內容(推薦) --> ${pageScope.name} <!-- 從request作用域取--> <%= request.getAttribute("name")%> <!-- 從request作用域取(推薦)--> ${requestScope.name} <!-- 從session作用域取值 --
> <%= session.getAttribute("name")%> <!-- 從session作用域取值(推薦) --> ${sessionScope.name} <!-- 從application作用域取值 --> <%= application.getAttribute("name")%> <!-- 從application作用域取值(推薦) --> ${applicationScope.name} <hr/> <!-- 在el表示式取作用域變數時,不加字首,先搜尋pageScope, 再搜尋requestScope, 繼續搜尋sessionScope, 再搜尋applicationScope--> ${name}

el表示式中的隱式物件

一共11個

pageScope page作用域 型別是map集合
requestScope request作用域 型別是map集合
sessionScope 會話作用域 型別是map集合
applicationScope 應用作用域 型別是map集合

param 代表所有請求引數集合 型別是map集合
paramValues 代表所有請求引數集合(用來獲取多值引數)

cookie 代表請求中所有的cookie集合 map型別
key是cookie的name, value是cookie物件(name,value)

header 獲取請求頭的內容 型別是map集合f
key是請求頭中key的名稱
headerValues 獲取請求頭的內容(用來獲取多值)
initParam 每個jsp可以配置一個初始化引數
initParam.key
pageContext