Class JspContextWrapper


  • public class JspContextWrapper
    extends javax.servlet.jsp.PageContext
    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().
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.String,​java.lang.String> aliases  
      private java.util.ArrayList<java.lang.String> atBeginVars  
      private java.util.ArrayList<java.lang.String> atEndVars  
      private javax.el.ELContext elContext  
      private javax.servlet.jsp.PageContext invokingJspCtxt  
      private java.util.ArrayList<java.lang.String> nestedVars  
      private java.util.HashMap<java.lang.String,​java.lang.Object> originalNestedVars  
      private java.util.Hashtable<java.lang.String,​java.lang.Object> pageAttributes  
      • 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 Description
      JspContextWrapper​(javax.servlet.jsp.JspContext jspContext, java.util.ArrayList<java.lang.String> nestedVars, java.util.ArrayList<java.lang.String> atBeginVars, java.util.ArrayList<java.lang.String> atEndVars, java.util.Map<java.lang.String,​java.lang.String> aliases)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void copyTagToPageScope​(int scope)
      Copies the variables of the given scope from the virtual page scope of this JSP context wrapper to the page scope of the invoking JSP context.
      private java.lang.String findAlias​(java.lang.String varName)
      Checks to see if the given variable name is used as an alias, and if so, returns the variable name for which it is used as an alias.
      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<java.lang.String> getAttributeNamesInScope​(int scope)  
      int getAttributesScope​(java.lang.String name)  
      javax.el.ELContext getELContext()  
      java.lang.Exception getException()  
      javax.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator()  
      javax.servlet.jsp.JspWriter getOut()  
      java.lang.Object getPage()  
      javax.servlet.ServletRequest getRequest()  
      javax.servlet.ServletResponse getResponse()  
      static javax.servlet.jsp.PageContext getRootPageContext​(javax.servlet.jsp.PageContext pc)  
      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()  
      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)  
      private void restoreNestedVariables()
      Restores the values of any NESTED variables in the invoking JSP context.
      private void saveNestedVariables()
      Saves the values of any NESTED variables that are present in the invoking JSP context, so they can later be restored.
      void setAttribute​(java.lang.String name, java.lang.Object value)  
      void setAttribute​(java.lang.String name, java.lang.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
    • Field Detail

      • invokingJspCtxt

        private javax.servlet.jsp.PageContext invokingJspCtxt
      • pageAttributes

        private java.util.Hashtable<java.lang.String,​java.lang.Object> pageAttributes
      • nestedVars

        private java.util.ArrayList<java.lang.String> nestedVars
      • atBeginVars

        private java.util.ArrayList<java.lang.String> atBeginVars
      • atEndVars

        private java.util.ArrayList<java.lang.String> atEndVars
      • aliases

        private java.util.Map<java.lang.String,​java.lang.String> aliases
      • originalNestedVars

        private java.util.HashMap<java.lang.String,​java.lang.Object> originalNestedVars
      • elContext

        private javax.el.ELContext elContext
    • Constructor Detail

      • JspContextWrapper

        public JspContextWrapper​(javax.servlet.jsp.JspContext jspContext,
                                 java.util.ArrayList<java.lang.String> nestedVars,
                                 java.util.ArrayList<java.lang.String> atBeginVars,
                                 java.util.ArrayList<java.lang.String> atEndVars,
                                 java.util.Map<java.lang.String,​java.lang.String> aliases)
    • 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,
                               java.lang.IllegalStateException,
                               java.lang.IllegalArgumentException
        Specified by:
        initialize in class javax.servlet.jsp.PageContext
        Throws:
        java.io.IOException
        java.lang.IllegalStateException
        java.lang.IllegalArgumentException
      • getAttribute

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

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

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

        public void setAttribute​(java.lang.String name,
                                 java.lang.Object value,
                                 int scope)
        Specified by:
        setAttribute in class javax.servlet.jsp.JspContext
      • findAttribute

        public java.lang.Object findAttribute​(java.lang.String name)
        Specified by:
        findAttribute in class javax.servlet.jsp.JspContext
      • removeAttribute

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

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

        public int getAttributesScope​(java.lang.String name)
        Specified by:
        getAttributesScope in class javax.servlet.jsp.JspContext
      • getAttributeNamesInScope

        public java.util.Enumeration<java.lang.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 java.lang.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 java.lang.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
      • getRootPageContext

        public static javax.servlet.jsp.PageContext getRootPageContext​(javax.servlet.jsp.PageContext pc)
      • getELContext

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

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

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

        public void include​(java.lang.String relativeUrlPath,
                            boolean flush)
                     throws javax.servlet.ServletException,
                            java.io.IOException
        Specified by:
        include in class javax.servlet.jsp.PageContext
        Throws:
        javax.servlet.ServletException
        java.io.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​(java.io.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​(java.lang.Exception ex)
                                 throws java.io.IOException,
                                        javax.servlet.ServletException
        Specified by:
        handlePageException in class javax.servlet.jsp.PageContext
        Throws:
        java.io.IOException
        javax.servlet.ServletException
      • handlePageException

        public void handlePageException​(java.lang.Throwable t)
                                 throws java.io.IOException,
                                        javax.servlet.ServletException
        Specified by:
        handlePageException in class javax.servlet.jsp.PageContext
        Throws:
        java.io.IOException
        javax.servlet.ServletException
      • 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
      • copyTagToPageScope

        private void copyTagToPageScope​(int scope)
        Copies the variables of the given scope from the virtual page scope of this JSP context wrapper to the page scope of the invoking JSP context.
        Parameters:
        scope - variable scope (one of NESTED, AT_BEGIN, or AT_END)
      • saveNestedVariables

        private void saveNestedVariables()
        Saves the values of any NESTED variables that are present in the invoking JSP context, so they can later be restored.
      • restoreNestedVariables

        private void restoreNestedVariables()
        Restores the values of any NESTED variables in the invoking JSP context.
      • findAlias

        private java.lang.String findAlias​(java.lang.String varName)
        Checks to see if the given variable name is used as an alias, and if so, returns the variable name for which it is used as an alias.
        Parameters:
        varName - The variable name to check
        Returns:
        The variable name for which varName is used as an alias, or varName if it is not being used as an alias