JSP內置對象--pageContext對象(非常重要!!!)


pageContext對象是javax.servlet.jsp.PageContext類的實例,只要表示的是一個jsp頁面的上下文,而且功能強大,幾乎可以操作各種內置對象。

>forward(String relativeUrlPath):將當前頁面轉發到另外一個頁面或者Servlet組建上;
>getRequest():返回當前頁面的request對象;
>getResponse():返回當前頁面的response對象;
>getServetConfig():返回當前頁面的servletConfig對象;
>getServletContext():返回當前頁面的ServletContext對象,這個對象是所有的頁面共享的.
>getSession():返回當前頁面的session對象;
>findAttribute():按照頁面,請求,會話,以及應用程序范圍的屬性實現對某個屬性的搜索;
>setAttribute():設置默認頁面范圍或特定對象范圍之中的對象.
>removeAttribute():刪除默認頁面對象或特定對象范圍之中的已命名對象.

pageContext是個功能強大的內置對象,所以在講解jsp高級編程的時候,標簽庫編程基本上都要使用pageContext對象完成了。

下面用pageContext完成一次頁面跳轉功能;

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培訓</title></head>
<body>
<%
    pageContext.forward("pagecontext_forward_demo02.jsp?info=MLDN") ;
%>
</body>
</html>

既然是跳轉,那么肯定可以傳遞參數,此時使用的是地址重寫的方式。

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培訓</title></head>
<body>
<%
    // 直接從pageContext對象中取得了request
    String info = pageContext.getRequest().getParameter("info") ;
%>
<h3>info = <%=info%></h3>
<h3>realpath = <%=pageContext.getServletContext().getRealPath("/")%></h3>
</body>
</html>

而且地址欄沒有改變,服務器端跳轉。

需要注意的是,getRequest和getResponse返回值是ServletRequest和ServletResponse,所以只能完成一些基本的功能。

 


免責聲明!

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



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