org.apache.struts2.jasper.runtime

## Class JspContextWrapper

- java.lang.Object
- - javax.servlet.jsp.JspContext
  - - javax.servlet.jsp.PageContext
    - - org.apache.struts2.jasper.runtime.JspContextWrapper

- All Implemented Interfaces:
    javax.servlet.jsp.el.VariableResolver

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

  Implementation of a JSP Context Wrapper. The JSP Context Wrapper is a JspContext created and maintained by a tag handler implementation. It wraps the Invoking JSP Context, that is, the JspContext instance passed to the tag handler by the invoking page via setJspContext().
  Author:
    Kin-man Chung, Jan Luehe, Jacob Hookom

- - ### 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`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JspContextWrapper(javax.servlet.jsp.JspContext jspContext, ArrayList nestedVars, ArrayList atBeginVars, ArrayList atEndVars, Map aliases)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `findAttribute(String name)`
    `void` | `forward(String relativeUrlPath)`
    `Object` | `getAttribute(String name)`
    `Object` | `getAttribute(String name, int scope)`
    `Enumeration<String>` | `getAttributeNamesInScope(int scope)`
    `int` | `getAttributesScope(String name)`
    `javax.el.ELContext` | `getELContext()`
    `Exception` | `getException()`
    `javax.servlet.jsp.el.ExpressionEvaluator` | `getExpressionEvaluator()`
    `javax.servlet.jsp.JspWriter` | `getOut()`
    `Object` | `getPage()`
    `javax.servlet.ServletRequest` | `getRequest()`
    `javax.servlet.ServletResponse` | `getResponse()`
    `javax.servlet.ServletConfig` | `getServletConfig()`
    `javax.servlet.ServletContext` | `getServletContext()`
    `javax.servlet.http.HttpSession` | `getSession()`
    `javax.servlet.jsp.el.VariableResolver` | `getVariableResolver()`
    `void` | `handlePageException(Exception ex)`
    `void` | `handlePageException(Throwable t)`
    `void` | `include(String relativeUrlPath)`
    `void` | `include(String relativeUrlPath, boolean flush)`
    `void` | `initialize(javax.servlet.Servlet servlet, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, String errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush)`
    `javax.servlet.jsp.JspWriter` | `popBody()`
    `javax.servlet.jsp.tagext.BodyContent` | `pushBody()`
    `javax.servlet.jsp.JspWriter` | `pushBody(Writer writer)`
    `void` | `release()`
    `void` | `removeAttribute(String name)`
    `void` | `removeAttribute(String name, int scope)`
    `Object` | `resolveVariable(String pName)` VariableResolver interface
    `void` | `setAttribute(String name, Object value)`
    `void` | `setAttribute(String name, Object value, int scope)`
    `void` | `syncBeforeInvoke()` Synchronize variables before fragment invokation
    `void` | `syncBeginTagFile()` Synchronize variables at begin of tag file
    `void` | `syncEndTagFile()` Synchronize variables at end of tag file

    - ### 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`

- - ### Constructor Detail

    - #### JspContextWrapper

          public JspContextWrapper(javax.servlet.jsp.JspContext jspContext,
                                   ArrayList nestedVars,
                                   ArrayList atBeginVars,
                                   ArrayList atEndVars,
                                   Map aliases)

  - ### Method Detail

    - #### 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,
                                 IllegalStateException,
                                 IllegalArgumentException

      Specified by:
        `initialize` in class `javax.servlet.jsp.PageContext`
      Throws:
        `IOException`
        `IllegalStateException`
        `IllegalArgumentException`

    - #### 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 value)

      Specified by:
        `setAttribute` in class `javax.servlet.jsp.JspContext`

    - #### setAttribute

          public void setAttribute(String name,
                                   Object value,
                                   int scope)

      Specified by:
        `setAttribute` in class `javax.servlet.jsp.JspContext`

    - #### findAttribute

          public Object findAttribute(String name)

      Specified by:
        `findAttribute` in class `javax.servlet.jsp.JspContext`

    - #### removeAttribute

          public void removeAttribute(String name)

      Specified by:
        `removeAttribute` 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`

    - #### getAttributeNamesInScope

          public Enumeration<String> getAttributeNamesInScope(int scope)

      Specified by:
        `getAttributeNamesInScope` in class `javax.servlet.jsp.JspContext`

    - #### release

          public void release()

      Specified by:
        `release` in class `javax.servlet.jsp.PageContext`

    - #### 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`

    - #### getPage

          public Object getPage()

      Specified by:
        `getPage` 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()

      Specified by:
        `getException` in class `javax.servlet.jsp.PageContext`

    - #### 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`

    - #### 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`

    - #### 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`

    - #### 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()

      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`

    - #### resolveVariable

          public Object resolveVariable(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`

    - #### syncBeginTagFile

          public void syncBeginTagFile()

      Synchronize variables at begin of tag file

    - #### syncBeforeInvoke

          public void syncBeforeInvoke()

      Synchronize variables before fragment invokation

    - #### syncEndTagFile

          public void syncEndTagFile()

      Synchronize variables at end of tag file

    - #### getELContext

          public javax.el.ELContext getELContext()

      Specified by:
        `getELContext` in class `javax.servlet.jsp.JspContext`

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.