org.apache.jasper.runtime
Class PageContextImpl

java.lang.Object
  extended byjavax.servlet.jsp.JspContext
      extended byjavax.servlet.jsp.PageContext
          extended byorg.apache.jasper.runtime.PageContextImpl
All Implemented Interfaces:
javax.servlet.jsp.el.VariableResolver

public class PageContextImpl
extends javax.servlet.jsp.PageContext
implements javax.servlet.jsp.el.VariableResolver

Implementation of the PageContext class from the JSP spec. Also doubles as a VariableResolver for the EL.

Author:
Anil K. Vijendran, Larry Cable, Hans Bergsten, Pierre Delisle, Mark Roth, Jan Luehe

Field Summary
 
Fields inherited from class javax.servlet.jsp.PageContext
APPLICATION, APPLICATION_SCOPE, CONFIG, EXCEPTION, OUT, PAGE, PAGE_SCOPE, PAGECONTEXT, REQUEST, REQUEST_SCOPE, RESPONSE, SESSION, SESSION_SCOPE
 
Method Summary
 java.lang.Object findAttribute(java.lang.String name)
           
 void forward(java.lang.String relativeUrlPath)
           
 java.lang.Object getAttribute(java.lang.String name)
           
 java.lang.Object getAttribute(java.lang.String name, int scope)
           
 java.util.Enumeration getAttributeNamesInScope(int scope)
           
 int getAttributesScope(java.lang.String name)
           
 java.lang.Exception getException()
          Returns the exception associated with this page context, if any.
 javax.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator()
          Provides programmatic access to the ExpressionEvaluator.
 javax.servlet.jsp.JspWriter getOut()
           
 java.lang.Object getPage()
           
 javax.servlet.ServletRequest getRequest()
           
 javax.servlet.ServletResponse getResponse()
           
 javax.servlet.Servlet getServlet()
           
 javax.servlet.ServletConfig getServletConfig()
           
 javax.servlet.ServletContext getServletContext()
           
 javax.servlet.http.HttpSession getSession()
           
 javax.servlet.jsp.el.VariableResolver getVariableResolver()
           
 void handlePageException(java.lang.Exception ex)
           
 void handlePageException(java.lang.Throwable t)
           
 void include(java.lang.String relativeUrlPath)
           
 void include(java.lang.String relativeUrlPath, boolean flush)
           
 void initialize(javax.servlet.Servlet servlet, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, java.lang.String errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush)
           
 javax.servlet.jsp.JspWriter popBody()
           
static java.lang.Object proprietaryEvaluate(java.lang.String expression, java.lang.Class expectedType, javax.servlet.jsp.PageContext pageContext, ProtectedFunctionMapper functionMap, boolean escape)
          Proprietary method to evaluate EL expressions.
 javax.servlet.jsp.tagext.BodyContent pushBody()
           
 javax.servlet.jsp.JspWriter pushBody(java.io.Writer writer)
           
 void release()
           
 void removeAttribute(java.lang.String name)
           
 void removeAttribute(java.lang.String name, int scope)
           
 java.lang.Object resolveVariable(java.lang.String pName)
          VariableResolver interface
 void setAttribute(java.lang.String name, java.lang.Object attribute)
           
 void setAttribute(java.lang.String name, java.lang.Object o, int scope)
           
 
Methods inherited from class javax.servlet.jsp.PageContext
getErrorData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

initialize

public void initialize(javax.servlet.Servlet servlet,
                       javax.servlet.ServletRequest request,
                       javax.servlet.ServletResponse response,
                       java.lang.String errorPageURL,
                       boolean needsSession,
                       int bufferSize,
                       boolean autoFlush)
                throws java.io.IOException
Throws:
java.io.IOException

release

public void release()

getAttribute

public java.lang.Object getAttribute(java.lang.String name)

getAttribute

public java.lang.Object getAttribute(java.lang.String name,
                                     int scope)

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object attribute)

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object o,
                         int scope)

removeAttribute

public void removeAttribute(java.lang.String name,
                            int scope)

getAttributesScope

public int getAttributesScope(java.lang.String name)

findAttribute

public java.lang.Object findAttribute(java.lang.String name)

getAttributeNamesInScope

public java.util.Enumeration getAttributeNamesInScope(int scope)

removeAttribute

public void removeAttribute(java.lang.String name)

getOut

public javax.servlet.jsp.JspWriter getOut()

getSession

public javax.servlet.http.HttpSession getSession()

getServlet

public javax.servlet.Servlet getServlet()

getServletConfig

public javax.servlet.ServletConfig getServletConfig()

getServletContext

public javax.servlet.ServletContext getServletContext()

getRequest

public javax.servlet.ServletRequest getRequest()

getResponse

public javax.servlet.ServletResponse getResponse()

getException

public java.lang.Exception getException()
Returns the exception associated with this page context, if any.

Added wrapping for Throwables to avoid ClassCastException: see Bugzilla 31171 for details.

Returns:
The Exception associated with this page context, if any.

getPage

public java.lang.Object getPage()

include

public void include(java.lang.String relativeUrlPath)
             throws javax.servlet.ServletException,
                    java.io.IOException
Throws:
javax.servlet.ServletException
java.io.IOException

include

public void include(java.lang.String relativeUrlPath,
                    boolean flush)
             throws javax.servlet.ServletException,
                    java.io.IOException
Throws:
javax.servlet.ServletException
java.io.IOException

getVariableResolver

public javax.servlet.jsp.el.VariableResolver getVariableResolver()

forward

public void forward(java.lang.String relativeUrlPath)
             throws javax.servlet.ServletException,
                    java.io.IOException
Throws:
javax.servlet.ServletException
java.io.IOException

pushBody

public javax.servlet.jsp.tagext.BodyContent pushBody()

pushBody

public javax.servlet.jsp.JspWriter pushBody(java.io.Writer writer)

popBody

public javax.servlet.jsp.JspWriter popBody()

getExpressionEvaluator

public javax.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator()
Provides programmatic access to the ExpressionEvaluator. The JSP Container must return a valid instance of an ExpressionEvaluator that can parse EL expressions.


handlePageException

public void handlePageException(java.lang.Exception ex)
                         throws java.io.IOException,
                                javax.servlet.ServletException
Throws:
java.io.IOException
javax.servlet.ServletException

handlePageException

public void handlePageException(java.lang.Throwable t)
                         throws java.io.IOException,
                                javax.servlet.ServletException
Throws:
java.io.IOException
javax.servlet.ServletException

resolveVariable

public java.lang.Object resolveVariable(java.lang.String pName)
                                 throws javax.servlet.jsp.el.ELException
VariableResolver interface

Specified by:
resolveVariable in interface javax.servlet.jsp.el.VariableResolver
Throws:
javax.servlet.jsp.el.ELException

proprietaryEvaluate

public static java.lang.Object proprietaryEvaluate(java.lang.String expression,
                                                   java.lang.Class expectedType,
                                                   javax.servlet.jsp.PageContext pageContext,
                                                   ProtectedFunctionMapper functionMap,
                                                   boolean escape)
                                            throws javax.servlet.jsp.el.ELException
Proprietary method to evaluate EL expressions. XXX - This method should go away once the EL interpreter moves out of JSTL and into its own project. For now, this is necessary because the standard machinery is too slow.

Parameters:
expression - The expression to be evaluated
expectedType - The expected resulting type
pageContext - The page context
functionMap - Maps prefix and name to Method
Returns:
The result of the evaluation
Throws:
javax.servlet.jsp.el.ELException


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.