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.PageContextImplementation 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>aliasesprivate java.util.ArrayList<java.lang.String>atBeginVarsprivate java.util.ArrayList<java.lang.String>atEndVarsprivate javax.el.ELContextelContextprivate javax.servlet.jsp.PageContextinvokingJspCtxtprivate java.util.ArrayList<java.lang.String>nestedVarsprivate java.util.HashMap<java.lang.String,java.lang.Object>originalNestedVarsprivate 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 voidcopyTagToPageScope(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.StringfindAlias(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.ObjectfindAttribute(java.lang.String name)voidforward(java.lang.String relativeUrlPath)java.lang.ObjectgetAttribute(java.lang.String name)java.lang.ObjectgetAttribute(java.lang.String name, int scope)java.util.Enumeration<java.lang.String>getAttributeNamesInScope(int scope)intgetAttributesScope(java.lang.String name)javax.el.ELContextgetELContext()java.lang.ExceptiongetException()javax.servlet.jsp.el.ExpressionEvaluatorgetExpressionEvaluator()javax.servlet.jsp.JspWritergetOut()java.lang.ObjectgetPage()javax.servlet.ServletRequestgetRequest()javax.servlet.ServletResponsegetResponse()static javax.servlet.jsp.PageContextgetRootPageContext(javax.servlet.jsp.PageContext pc)javax.servlet.ServletConfiggetServletConfig()javax.servlet.ServletContextgetServletContext()javax.servlet.http.HttpSessiongetSession()javax.servlet.jsp.el.VariableResolvergetVariableResolver()voidhandlePageException(java.lang.Exception ex)voidhandlePageException(java.lang.Throwable t)voidinclude(java.lang.String relativeUrlPath)voidinclude(java.lang.String relativeUrlPath, boolean flush)voidinitialize(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.JspWriterpopBody()javax.servlet.jsp.tagext.BodyContentpushBody()javax.servlet.jsp.JspWriterpushBody(java.io.Writer writer)voidrelease()voidremoveAttribute(java.lang.String name)voidremoveAttribute(java.lang.String name, int scope)private voidrestoreNestedVariables()Restores the values of any NESTED variables in the invoking JSP context.private voidsaveNestedVariables()Saves the values of any NESTED variables that are present in the invoking JSP context, so they can later be restored.voidsetAttribute(java.lang.String name, java.lang.Object value)voidsetAttribute(java.lang.String name, java.lang.Object value, int scope)voidsyncBeforeInvoke()Synchronize variables before fragment invokationvoidsyncBeginTagFile()Synchronize variables at begin of tag filevoidsyncEndTagFile()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:
initializein classjavax.servlet.jsp.PageContext- Throws:
java.io.IOExceptionjava.lang.IllegalStateExceptionjava.lang.IllegalArgumentException
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
- Specified by:
getAttributein classjavax.servlet.jsp.JspContext
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name, int scope)- Specified by:
getAttributein classjavax.servlet.jsp.JspContext
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object value)- Specified by:
setAttributein classjavax.servlet.jsp.JspContext
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object value, int scope)- Specified by:
setAttributein classjavax.servlet.jsp.JspContext
-
findAttribute
public java.lang.Object findAttribute(java.lang.String name)
- Specified by:
findAttributein classjavax.servlet.jsp.JspContext
-
removeAttribute
public void removeAttribute(java.lang.String name)
- Specified by:
removeAttributein classjavax.servlet.jsp.JspContext
-
removeAttribute
public void removeAttribute(java.lang.String name, int scope)- Specified by:
removeAttributein classjavax.servlet.jsp.JspContext
-
getAttributesScope
public int getAttributesScope(java.lang.String name)
- Specified by:
getAttributesScopein classjavax.servlet.jsp.JspContext
-
getAttributeNamesInScope
public java.util.Enumeration<java.lang.String> getAttributeNamesInScope(int scope)
- Specified by:
getAttributeNamesInScopein classjavax.servlet.jsp.JspContext
-
release
public void release()
- Specified by:
releasein classjavax.servlet.jsp.PageContext
-
getOut
public javax.servlet.jsp.JspWriter getOut()
- Specified by:
getOutin classjavax.servlet.jsp.JspContext
-
getSession
public javax.servlet.http.HttpSession getSession()
- Specified by:
getSessionin classjavax.servlet.jsp.PageContext
-
getPage
public java.lang.Object getPage()
- Specified by:
getPagein classjavax.servlet.jsp.PageContext
-
getRequest
public javax.servlet.ServletRequest getRequest()
- Specified by:
getRequestin classjavax.servlet.jsp.PageContext
-
getResponse
public javax.servlet.ServletResponse getResponse()
- Specified by:
getResponsein classjavax.servlet.jsp.PageContext
-
getException
public java.lang.Exception getException()
- Specified by:
getExceptionin classjavax.servlet.jsp.PageContext
-
getServletConfig
public javax.servlet.ServletConfig getServletConfig()
- Specified by:
getServletConfigin classjavax.servlet.jsp.PageContext
-
getServletContext
public javax.servlet.ServletContext getServletContext()
- Specified by:
getServletContextin 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:
getELContextin classjavax.servlet.jsp.JspContext
-
forward
public void forward(java.lang.String relativeUrlPath) throws javax.servlet.ServletException, java.io.IOException- Specified by:
forwardin classjavax.servlet.jsp.PageContext- Throws:
javax.servlet.ServletExceptionjava.io.IOException
-
include
public void include(java.lang.String relativeUrlPath) throws javax.servlet.ServletException, java.io.IOException- Specified by:
includein classjavax.servlet.jsp.PageContext- Throws:
javax.servlet.ServletExceptionjava.io.IOException
-
include
public void include(java.lang.String relativeUrlPath, boolean flush) throws javax.servlet.ServletException, java.io.IOException- Specified by:
includein classjavax.servlet.jsp.PageContext- Throws:
javax.servlet.ServletExceptionjava.io.IOException
-
getVariableResolver
public javax.servlet.jsp.el.VariableResolver getVariableResolver()
- Specified by:
getVariableResolverin classjavax.servlet.jsp.JspContext
-
pushBody
public javax.servlet.jsp.tagext.BodyContent pushBody()
- Overrides:
pushBodyin classjavax.servlet.jsp.PageContext
-
pushBody
public javax.servlet.jsp.JspWriter pushBody(java.io.Writer writer)
- Overrides:
pushBodyin classjavax.servlet.jsp.JspContext
-
popBody
public javax.servlet.jsp.JspWriter popBody()
- Overrides:
popBodyin classjavax.servlet.jsp.JspContext
-
getExpressionEvaluator
public javax.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator()
- Specified by:
getExpressionEvaluatorin classjavax.servlet.jsp.JspContext
-
handlePageException
public void handlePageException(java.lang.Exception ex) throws java.io.IOException, javax.servlet.ServletException- Specified by:
handlePageExceptionin classjavax.servlet.jsp.PageContext- Throws:
java.io.IOExceptionjavax.servlet.ServletException
-
handlePageException
public void handlePageException(java.lang.Throwable t) throws java.io.IOException, javax.servlet.ServletException- Specified by:
handlePageExceptionin classjavax.servlet.jsp.PageContext- Throws:
java.io.IOExceptionjavax.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
-
-