In this Section,we will discuss about "pagecontext" implicit object and their uses with an example.
In this Section,we will discuss about "pagecontext" implicit object and their uses with an example. pagecontext
A PageContext instance provides access to all the namespaces associated with a JSP page, provides access to several page attributes, as well as a layer above the implementation details.
The PageContext provides a number of facilities to the page/component author and page implementor, including:
page
& pagecontext
page : The page
and pageContext
are implicit JSP Objects.
The page
object represents the generated servlet instance itself,
i.e., it is same as the "this" keyword used in a Java file. As a result, you do
not typically know who the super class is, and consequently do not normally make
use of this object or its methods.
Object page this;
// this refers to the instance of this servlet
page cannot be used to directly call the servlet methods.
1) < page.getServletInfo() >
Error bcoz page is java.lang.Object type
2) < ((servlet)page).getServletInfo() > <----OK:typecast
3) < this.getServletInfo() > <-------OK
pageContext :
The pageContext
object represents the environment for the page,
containing useful information like page attributes, access to the request
,
response
and session
objects, as well as the
JspWriter
referenced by out
. This object also has methods
for including another URL's contents, and for forwarding or redirecting to
another URL.
pageContext is of type 'javax.servlet.jsp.PageContext.'
pageContext class is an abstract class.
The key things it do are:
1.provide convenience methods to get and set attributes in diff scopes.
2.provide convenience methods for transfering requests to other resources in the web application
void include(String relativeURL) & void forward(String relativeURL)
Ex; pageContext.forward( ankit.jsp );
3.store the references to implicit objects.
Example using methods "setAttribute" & "getAttribute" of "pagecontext"
<b><font color="purple"> <% // Check if attribute has been set Object o = pageContext.getAttribute("com.mycompany.name1", PageContext.PAGE_SCOPE); if (o == null) { out.println("'com.mycompany.name1' is not 'null'"); } // Save data pageContext.setAttribute("com.mycompany.name0", "value0"); // PAGE_SCOPE is the default pageContext.setAttribute("com.mycompany.name1", "value1", PageContext.PAGE_SCOPE); pageContext.setAttribute("com.mycompany.name2", "value2", PageContext.REQUEST_SCOPE); pageContext.setAttribute("com.mycompany.name3", "value3", PageContext.SESSION_SCOPE); pageContext.setAttribute("com.mycompany.name4", "value4", PageContext.APPLICATION_SCOPE); out.println("<br>"); out.println("<br>"); out.println("SHOWING VALUES OF ATTRIBUTE :-"); %> <br> <%-- Show the values --%> <%= pageContext.getAttribute("com.mycompany.name0") %> <%-- PAGE_SCOPE --%> <br> <%= pageContext.getAttribute("com.mycompany.name1", PageContext.PAGE_SCOPE) %> <br> <%= pageContext.getAttribute("com.mycompany.name2", PageContext.REQUEST_SCOPE) %> <br> <%= pageContext.getAttribute("com.mycompany.name3", PageContext.SESSION_SCOPE) %> <br> <%= pageContext.getAttribute("com.mycompany.name4", PageContext.APPLICATION_SCOPE) %> </font></b> |
OUTPUT :