Package org.apache.jasper.runtime
Class JspContextWrapper
- java.lang.Object
-
- javax.servlet.jsp.JspContext
-
- javax.servlet.jsp.PageContext
-
- org.apache.jasper.runtime.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
-
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 invokationvoid
syncBeginTagFile()
Synchronize variables at begin of tag filevoid
syncEndTagFile()
Synchronize variables at end of tag file
-
-
-
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 classjavax.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 classjavax.servlet.jsp.JspContext
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name, int scope)
- Specified by:
getAttribute
in classjavax.servlet.jsp.JspContext
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object value)
- Specified by:
setAttribute
in classjavax.servlet.jsp.JspContext
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object value, int scope)
- Specified by:
setAttribute
in classjavax.servlet.jsp.JspContext
-
findAttribute
public java.lang.Object findAttribute(java.lang.String name)
- Specified by:
findAttribute
in classjavax.servlet.jsp.JspContext
-
removeAttribute
public void removeAttribute(java.lang.String name)
- Specified by:
removeAttribute
in classjavax.servlet.jsp.JspContext
-
removeAttribute
public void removeAttribute(java.lang.String name, int scope)
- Specified by:
removeAttribute
in classjavax.servlet.jsp.JspContext
-
getAttributesScope
public int getAttributesScope(java.lang.String name)
- Specified by:
getAttributesScope
in classjavax.servlet.jsp.JspContext
-
getAttributeNamesInScope
public java.util.Enumeration<java.lang.String> getAttributeNamesInScope(int scope)
- Specified by:
getAttributeNamesInScope
in classjavax.servlet.jsp.JspContext
-
release
public void release()
- Specified by:
release
in classjavax.servlet.jsp.PageContext
-
getOut
public javax.servlet.jsp.JspWriter getOut()
- Specified by:
getOut
in classjavax.servlet.jsp.JspContext
-
getSession
public javax.servlet.http.HttpSession getSession()
- Specified by:
getSession
in classjavax.servlet.jsp.PageContext
-
getPage
public java.lang.Object getPage()
- Specified by:
getPage
in classjavax.servlet.jsp.PageContext
-
getRequest
public javax.servlet.ServletRequest getRequest()
- Specified by:
getRequest
in classjavax.servlet.jsp.PageContext
-
getResponse
public javax.servlet.ServletResponse getResponse()
- Specified by:
getResponse
in classjavax.servlet.jsp.PageContext
-
getException
public java.lang.Exception getException()
- Specified by:
getException
in classjavax.servlet.jsp.PageContext
-
getServletConfig
public javax.servlet.ServletConfig getServletConfig()
- Specified by:
getServletConfig
in classjavax.servlet.jsp.PageContext
-
getServletContext
public javax.servlet.ServletContext getServletContext()
- Specified by:
getServletContext
in classjavax.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 classjavax.servlet.jsp.JspContext
-
forward
public void forward(java.lang.String relativeUrlPath) throws javax.servlet.ServletException, java.io.IOException
- Specified by:
forward
in classjavax.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 classjavax.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 classjavax.servlet.jsp.PageContext
- Throws:
javax.servlet.ServletException
java.io.IOException
-
getVariableResolver
public javax.servlet.jsp.el.VariableResolver getVariableResolver()
- Specified by:
getVariableResolver
in classjavax.servlet.jsp.JspContext
-
pushBody
public javax.servlet.jsp.tagext.BodyContent pushBody()
- Overrides:
pushBody
in classjavax.servlet.jsp.PageContext
-
pushBody
public javax.servlet.jsp.JspWriter pushBody(java.io.Writer writer)
- Overrides:
pushBody
in classjavax.servlet.jsp.JspContext
-
popBody
public javax.servlet.jsp.JspWriter popBody()
- Overrides:
popBody
in classjavax.servlet.jsp.JspContext
-
getExpressionEvaluator
public javax.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator()
- Specified by:
getExpressionEvaluator
in classjavax.servlet.jsp.JspContext
-
handlePageException
public void handlePageException(java.lang.Exception ex) throws java.io.IOException, javax.servlet.ServletException
- Specified by:
handlePageException
in classjavax.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 classjavax.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
-
-