org.springframework.mock.web

## Class MockPageContext

- java.lang.Object
- - javax.servlet.jsp.JspContext
  - - javax.servlet.jsp.PageContext
    - - org.springframework.mock.web.MockPageContext

-     public class MockPageContext
      extends PageContext

  Mock implementation of the `PageContext` interface. Only necessary for testing applications when testing custom JSP tags.

  Note: Expects initialization via the constructor rather than via the `PageContext.initialize` method. Does not support writing to a JspWriter, request dispatching, or `handlePageException` calls.

  Since:
    1.0.2
  Author:
    Juergen Hoeller

- - ### 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
    `MockPageContext()` Create new MockPageContext with a default `MockServletContext`, `MockHttpServletRequest`, `MockHttpServletResponse`, `MockServletConfig`.
    `MockPageContext(ServletContext servletContext)` Create new MockPageContext with a default `MockHttpServletRequest`, `MockHttpServletResponse`, `MockServletConfig`.
    `MockPageContext(ServletContext servletContext, HttpServletRequest request)` Create new MockPageContext with a MockHttpServletResponse, MockServletConfig.
    `MockPageContext(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response)` Create new MockPageContext with a MockServletConfig.
    `MockPageContext(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, ServletConfig servletConfig)` Create new MockServletConfig.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `findAttribute(String name)`
    `void` | `forward(String path)`
    `Object` | `getAttribute(String name)`
    `Object` | `getAttribute(String name, int scope)`
    `Enumeration<String>` | `getAttributeNames()`
    `Enumeration<String>` | `getAttributeNamesInScope(int scope)`
    `int` | `getAttributesScope(String name)`
    `byte[]` | `getContentAsByteArray()`
    `String` | `getContentAsString()`
    `ELContext` | `getELContext()`
    `Exception` | `getException()`
    `ExpressionEvaluator` | `getExpressionEvaluator()` Deprecated.
    `JspWriter` | `getOut()`
    `Object` | `getPage()`
    `ServletRequest` | `getRequest()`
    `ServletResponse` | `getResponse()`
    `ServletConfig` | `getServletConfig()`
    `ServletContext` | `getServletContext()`
    `HttpSession` | `getSession()`
    `VariableResolver` | `getVariableResolver()` Deprecated.
    `void` | `handlePageException(Exception ex)`
    `void` | `handlePageException(Throwable ex)`
    `void` | `include(String path)`
    `void` | `include(String path, boolean flush)`
    `void` | `initialize(Servlet servlet, ServletRequest request, ServletResponse response, String errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush)`
    `void` | `release()`
    `void` | `removeAttribute(String name)`
    `void` | `removeAttribute(String name, int scope)`
    `void` | `setAttribute(String name, Object value)`
    `void` | `setAttribute(String name, Object value, int scope)`

    - ### Methods inherited from class javax.servlet.jsp.PageContext

      `getErrorData, pushBody`

    - ### Methods inherited from class javax.servlet.jsp.JspContext

      `popBody, pushBody`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MockPageContext

          public MockPageContext()

      Create new MockPageContext with a default `MockServletContext`, `MockHttpServletRequest`, `MockHttpServletResponse`, `MockServletConfig`.

    - #### MockPageContext

          public MockPageContext(@Nullable
                                 ServletContext servletContext)

      Create new MockPageContext with a default `MockHttpServletRequest`, `MockHttpServletResponse`, `MockServletConfig`.
      Parameters:
        `servletContext` - the ServletContext that the JSP page runs in (only necessary when actually accessing the ServletContext)

    - #### MockPageContext

          public MockPageContext(@Nullable
                                 ServletContext servletContext,
                                 @Nullable
                                 HttpServletRequest request)

      Create new MockPageContext with a MockHttpServletResponse, MockServletConfig.
      Parameters:
        `servletContext` - the ServletContext that the JSP page runs in
        `request` - the current HttpServletRequest (only necessary when actually accessing the request)

    - #### MockPageContext

          public MockPageContext(@Nullable
                                 ServletContext servletContext,
                                 @Nullable
                                 HttpServletRequest request,
                                 @Nullable
                                 HttpServletResponse response)

      Create new MockPageContext with a MockServletConfig.
      Parameters:
        `servletContext` - the ServletContext that the JSP page runs in
        `request` - the current HttpServletRequest
        `response` - the current HttpServletResponse (only necessary when actually writing to the response)

    - #### MockPageContext

          public MockPageContext(@Nullable
                                 ServletContext servletContext,
                                 @Nullable
                                 HttpServletRequest request,
                                 @Nullable
                                 HttpServletResponse response,
                                 @Nullable
                                 ServletConfig servletConfig)

      Create new MockServletConfig.
      Parameters:
        `servletContext` - the ServletContext that the JSP page runs in
        `request` - the current HttpServletRequest
        `response` - the current HttpServletResponse
        `servletConfig` - the ServletConfig (hardly ever accessed from within a tag)

  - ### Method Detail

    - #### initialize

          public void initialize(Servlet servlet,
                                 ServletRequest request,
                                 ServletResponse response,
                                 String errorPageURL,
                                 boolean needsSession,
                                 int bufferSize,
                                 boolean autoFlush)

      Specified by:
        `initialize` in class `PageContext`

    - #### release

          public void release()

      Specified by:
        `release` in class `PageContext`

    - #### setAttribute

          public void setAttribute(String name,
                                   @Nullable
                                   Object value)

      Specified by:
        `setAttribute` in class `JspContext`

    - #### setAttribute

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

      Specified by:
        `setAttribute` in class `JspContext`

    - #### getAttribute

          @Nullable
          public Object getAttribute(String name)

      Specified by:
        `getAttribute` in class `JspContext`

    - #### getAttribute

          @Nullable
          public Object getAttribute(String name,
                                               int scope)

      Specified by:
        `getAttribute` in class `JspContext`

    - #### findAttribute

          @Nullable
          public Object findAttribute(String name)

      Specified by:
        `findAttribute` in class `JspContext`

    - #### removeAttribute

          public void removeAttribute(String name)

      Specified by:
        `removeAttribute` in class `JspContext`

    - #### removeAttribute

          public void removeAttribute(String name,
                                      int scope)

      Specified by:
        `removeAttribute` in class `JspContext`

    - #### getAttributesScope

          public int getAttributesScope(String name)

      Specified by:
        `getAttributesScope` in class `JspContext`

    - #### getAttributeNames

          public Enumeration<String> getAttributeNames()

    - #### getAttributeNamesInScope

          public Enumeration<String> getAttributeNamesInScope(int scope)

      Specified by:
        `getAttributeNamesInScope` in class `JspContext`

    - #### getOut

          public JspWriter getOut()

      Specified by:
        `getOut` in class `JspContext`

    - #### getExpressionEvaluator

          @Deprecated
          public ExpressionEvaluator getExpressionEvaluator()

      Deprecated.
      Specified by:
        `getExpressionEvaluator` in class `JspContext`

    - #### getELContext

          @Nullable
          public ELContext getELContext()

      Specified by:
        `getELContext` in class `JspContext`

    - #### getVariableResolver

          @Deprecated
           @Nullable
          public VariableResolver getVariableResolver()

      Deprecated.
      Specified by:
        `getVariableResolver` in class `JspContext`

    - #### getSession

          public HttpSession getSession()

      Specified by:
        `getSession` in class `PageContext`

    - #### getPage

          public Object getPage()

      Specified by:
        `getPage` in class `PageContext`

    - #### getRequest

          public ServletRequest getRequest()

      Specified by:
        `getRequest` in class `PageContext`

    - #### getResponse

          public ServletResponse getResponse()

      Specified by:
        `getResponse` in class `PageContext`

    - #### getException

          @Nullable
          public Exception getException()

      Specified by:
        `getException` in class `PageContext`

    - #### getServletConfig

          public ServletConfig getServletConfig()

      Specified by:
        `getServletConfig` in class `PageContext`

    - #### getServletContext

          public ServletContext getServletContext()

      Specified by:
        `getServletContext` in class `PageContext`

    - #### forward

          public void forward(String path)
                       throws ServletException,
                              IOException

      Specified by:
        `forward` in class `PageContext`
      Throws:
        `ServletException`
        `IOException`

    - #### include

          public void include(String path)
                       throws ServletException,
                              IOException

      Specified by:
        `include` in class `PageContext`
      Throws:
        `ServletException`
        `IOException`

    - #### include

          public void include(String path,
                              boolean flush)
                       throws ServletException,
                              IOException

      Specified by:
        `include` in class `PageContext`
      Throws:
        `ServletException`
        `IOException`

    - #### getContentAsByteArray

          public byte[] getContentAsByteArray()

    - #### getContentAsString

          public String getContentAsString()
                                    throws UnsupportedEncodingException

      Throws:
        `UnsupportedEncodingException`

    - #### handlePageException

          public void handlePageException(Exception ex)
                                   throws ServletException,
                                          IOException

      Specified by:
        `handlePageException` in class `PageContext`
      Throws:
        `ServletException`
        `IOException`

    - #### handlePageException

          public void handlePageException(Throwable ex)
                                   throws ServletException,
                                          IOException

      Specified by:
        `handlePageException` in class `PageContext`
      Throws:
        `ServletException`
        `IOException`