## org.apache.jasper.runtime
Class PageContextImpl

    java.lang.Object
      javax.servlet.jsp.JspContext
          javax.servlet.jsp.PageContext
              org.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 ClassCaseException: 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 Apache Software Foundation. All Rights Reserved.