Class PageContextImpl

java.lang.Object
javax.servlet.jsp.JspContext
javax.servlet.jsp.PageContext
org.apache.sling.scripting.jsp.jasper.runtime.PageContextImpl

public class PageContextImpl extends javax.servlet.jsp.PageContext
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, Jacob Hookom
  • Method Details

    • initialize

      public void initialize(javax.servlet.Servlet servlet, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, String errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush) throws IOException
      Specified by:
      initialize in class javax.servlet.jsp.PageContext
      Throws:
      IOException
    • release

      public void release()
      Specified by:
      release in class javax.servlet.jsp.PageContext
    • getAttribute

      public Object getAttribute(String name)
      Specified by:
      getAttribute in class javax.servlet.jsp.JspContext
    • getAttribute

      public Object getAttribute(String name, int scope)
      Specified by:
      getAttribute in class javax.servlet.jsp.JspContext
    • setAttribute

      public void setAttribute(String name, Object attribute)
      Specified by:
      setAttribute in class javax.servlet.jsp.JspContext
    • setAttribute

      public void setAttribute(String name, Object o, int scope)
      Specified by:
      setAttribute in class javax.servlet.jsp.JspContext
    • removeAttribute

      public void removeAttribute(String name, int scope)
      Specified by:
      removeAttribute in class javax.servlet.jsp.JspContext
    • getAttributesScope

      public int getAttributesScope(String name)
      Specified by:
      getAttributesScope in class javax.servlet.jsp.JspContext
    • findAttribute

      public Object findAttribute(String name)
      Specified by:
      findAttribute in class javax.servlet.jsp.JspContext
    • getAttributeNamesInScope

      public Enumeration<String> getAttributeNamesInScope(int scope)
      Specified by:
      getAttributeNamesInScope in class javax.servlet.jsp.JspContext
    • removeAttribute

      public void removeAttribute(String name)
      Specified by:
      removeAttribute in class javax.servlet.jsp.JspContext
    • getOut

      public javax.servlet.jsp.JspWriter getOut()
      Specified by:
      getOut in class javax.servlet.jsp.JspContext
    • getSession

      public javax.servlet.http.HttpSession getSession()
      Specified by:
      getSession in class javax.servlet.jsp.PageContext
    • getServlet

      public javax.servlet.Servlet getServlet()
    • getServletConfig

      public javax.servlet.ServletConfig getServletConfig()
      Specified by:
      getServletConfig in class javax.servlet.jsp.PageContext
    • getServletContext

      public javax.servlet.ServletContext getServletContext()
      Specified by:
      getServletContext in class javax.servlet.jsp.PageContext
    • getRequest

      public javax.servlet.ServletRequest getRequest()
      Specified by:
      getRequest in class javax.servlet.jsp.PageContext
    • getResponse

      public javax.servlet.ServletResponse getResponse()
      Specified by:
      getResponse in class javax.servlet.jsp.PageContext
    • getException

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

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

      Specified by:
      getException in class javax.servlet.jsp.PageContext
      Returns:
      The Exception associated with this page context, if any.
    • getPage

      public Object getPage()
      Specified by:
      getPage in class javax.servlet.jsp.PageContext
    • include

      public void include(String relativeUrlPath) throws javax.servlet.ServletException, IOException
      Specified by:
      include in class javax.servlet.jsp.PageContext
      Throws:
      javax.servlet.ServletException
      IOException
    • include

      public void include(String relativeUrlPath, boolean flush) throws javax.servlet.ServletException, IOException
      Specified by:
      include in class javax.servlet.jsp.PageContext
      Throws:
      javax.servlet.ServletException
      IOException
    • getVariableResolver

      public javax.servlet.jsp.el.VariableResolver getVariableResolver()
      Specified by:
      getVariableResolver in class javax.servlet.jsp.JspContext
    • forward

      public void forward(String relativeUrlPath) throws javax.servlet.ServletException, IOException
      Specified by:
      forward in class javax.servlet.jsp.PageContext
      Throws:
      javax.servlet.ServletException
      IOException
    • forwardToErrorPage

      public void forwardToErrorPage(String relativeUrlPath) throws javax.servlet.ServletException, IOException
      Throws:
      javax.servlet.ServletException
      IOException
    • pushBody

      public javax.servlet.jsp.tagext.BodyContent pushBody()
      Overrides:
      pushBody in class javax.servlet.jsp.PageContext
    • pushBody

      public javax.servlet.jsp.JspWriter pushBody(Writer writer)
      Overrides:
      pushBody in class javax.servlet.jsp.JspContext
    • popBody

      public javax.servlet.jsp.JspWriter popBody()
      Overrides:
      popBody in class javax.servlet.jsp.JspContext
    • 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.
      Specified by:
      getExpressionEvaluator in class javax.servlet.jsp.JspContext
    • handlePageException

      public void handlePageException(Exception ex) throws IOException, javax.servlet.ServletException
      Specified by:
      handlePageException in class javax.servlet.jsp.PageContext
      Throws:
      IOException
      javax.servlet.ServletException
    • handlePageException

      public void handlePageException(Throwable t) throws IOException, javax.servlet.ServletException
      Specified by:
      handlePageException in class javax.servlet.jsp.PageContext
      Throws:
      IOException
      javax.servlet.ServletException
    • proprietaryEvaluate

      public static Object proprietaryEvaluate(String expression, 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
    • getELContext

      public javax.el.ELContext getELContext()
      Specified by:
      getELContext in class javax.servlet.jsp.JspContext