jsp隱式對象
阿新 • • 發佈:2017-09-21
設置 對象 abstract esp public setattr session tps 範圍
servlet容器會傳遞給幾個對象給它運行的servlet。像什麽HttpServeltRequest,ServletConfig等對象。
在jsp中,可以通過使用隱式對象來訪問上述對象。
對象 | 描述 |
---|---|
request | HttpServletRequest類的實例 |
response | HttpServletResponse類的實例 |
out | JspWriter類的實例,用於把結果輸出至網頁上 |
session | HttpSession類的實例 |
application | ServletContext類的實例,與應用上下文有關 |
config | ServletConfig類的實例 |
pageContext | PageContext類的實例,提供對JSP頁面所有對象以及命名空間的訪問 |
page | 類似於Java類中的this關鍵字 |
exception | Exception類的對象,代表發生錯誤的JSP頁面中對應的異常對象 |
下面的代碼從HTTPServletReques對象中返回username參數值:
<%
String userName = request.getParameter("userName");
%>
此外,PageContext提供了另外一組有趣的方法:用於獲取和設置屬性的方法,即getAttribute和setAttribute方法。屬性值可以被儲存在4個範圍之一:頁面,請求,會話和應用程序。
頁面是最小的範圍,這裏存儲的屬性只在同一個JSP頁面可用。請求範圍是指當前的ServletRequeset中。會話範圍指當前的HttpSession中,應用程序範圍指應用的ServletContext中。
PageContext的setAttirbute的方法簽名如下:
public abstract void setAttribute(java.lang.String name , java.lang.Object value , int scope) 其中scope的取值範圍為PageContext對象的最終靜態int值:PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE,APPLICATION_SCOPE
要是保存在ServletRequest中,則可以直接<%request.setAttribute("product",product);%>
jsp隱式對象