Package org.apache.jasper.runtime
Class PageContextImpl
- java.lang.Object
-
- javax.servlet.jsp.JspContext
-
- javax.servlet.jsp.PageContext
-
- org.apache.jasper.runtime.PageContextImpl
-
public class PageContextImpl extends javax.servlet.jsp.PageContext
Implementation of the PageContext class from the JSP spec.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.HashMap<java.lang.String,java.lang.Object>
attributes
private JspWriterImpl
baseOut
private int
bufferSize
private javax.servlet.ServletConfig
config
private javax.servlet.ServletContext
context
private int
depth
private javax.el.ELContext
elContext
private javax.el.ELResolver
elResolver
private java.lang.String
errorPageURL
private javax.servlet.jsp.JspFactory
factory
private boolean
isNametableInitialized
private JspApplicationContextImpl
jspApplicationContext
private static java.util.logging.Logger
log
private boolean
needsSession
private javax.servlet.jsp.JspWriter
out
private BodyContentImpl[]
outs
private javax.servlet.ServletRequest
request
private javax.servlet.ServletResponse
response
private javax.servlet.Servlet
servlet
private javax.servlet.http.HttpSession
session
-
Constructor Summary
Constructors Constructor Description PageContextImpl(javax.servlet.jsp.JspFactory factory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
_initialize(javax.servlet.Servlet servlet, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, java.lang.String errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush)
private java.lang.Object
doFindAttribute(java.lang.String name)
private java.lang.Object
doGetAttribute(java.lang.String name)
private java.lang.Object
doGetAttribute(java.lang.String name, int scope)
private java.util.Enumeration<java.lang.String>
doGetAttributeNamesInScope(int scope)
private int
doGetAttributeScope(java.lang.String name)
private void
doHandlePageException(java.lang.Throwable t)
private void
doRemoveAttribute(java.lang.String name)
private void
doRemoveAttribute(java.lang.String name, int scope)
private void
doSetAttribute(java.lang.String name, java.lang.Object attribute)
private void
doSetAttribute(java.lang.String name, java.lang.Object o, int scope)
static java.lang.Object
evaluateExpression(java.lang.String expression, java.lang.Class expectedType, javax.servlet.jsp.PageContext pageContext, ProtectedFunctionMapper functionMap)
Evaluates an EL expressionjava.lang.Object
findAttribute(java.lang.String name)
void
forward(java.lang.String relativeUrlPath)
private java.lang.String
getAbsolutePathRelativeToContext(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()
private javax.el.ELResolver
getELResolver()
java.lang.Exception
getException()
Returns the exception associated with this page context, if any.javax.servlet.jsp.el.ExpressionEvaluator
getExpressionEvaluator()
Provides programmatic access to the ExpressionEvaluator.private static javax.el.ExpressionFactory
getExpressionFactory(javax.servlet.jsp.PageContext pageContext)
(package private) JspApplicationContextImpl
getJspApplicationContext()
static javax.el.MethodExpression
getMethodExpression(java.lang.String expression, javax.servlet.jsp.PageContext pageContext, javax.el.FunctionMapper functionMap, java.lang.Class expectedType, java.lang.Class[] paramTypes)
javax.servlet.jsp.JspWriter
getOut()
java.lang.Object
getPage()
javax.servlet.ServletRequest
getRequest()
javax.servlet.ServletResponse
getResponse()
javax.servlet.Servlet
getServlet()
javax.servlet.ServletConfig
getServletConfig()
javax.servlet.ServletContext
getServletContext()
javax.servlet.http.HttpSession
getSession()
static javax.el.ValueExpression
getValueExpression(java.lang.String expression, javax.servlet.jsp.PageContext pageContext, java.lang.Class expectedType, javax.el.FunctionMapper functionMap)
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)
private void
initializePageScopeNameTable()
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)
void
setAttribute(java.lang.String name, java.lang.Object attribute)
void
setAttribute(java.lang.String name, java.lang.Object o, int scope)
static void
setMethodVariable(javax.servlet.jsp.PageContext pageContext, java.lang.String variable, javax.el.MethodExpression expression)
static void
setValueVariable(javax.servlet.jsp.PageContext pageContext, java.lang.String variable, javax.el.ValueExpression expression)
-
-
-
Field Detail
-
log
private static java.util.logging.Logger log
-
outs
private BodyContentImpl[] outs
-
depth
private int depth
-
servlet
private javax.servlet.Servlet servlet
-
config
private javax.servlet.ServletConfig config
-
context
private javax.servlet.ServletContext context
-
factory
private javax.servlet.jsp.JspFactory factory
-
needsSession
private boolean needsSession
-
errorPageURL
private java.lang.String errorPageURL
-
bufferSize
private int bufferSize
-
jspApplicationContext
private JspApplicationContextImpl jspApplicationContext
-
elResolver
private javax.el.ELResolver elResolver
-
elContext
private javax.el.ELContext elContext
-
attributes
private java.util.HashMap<java.lang.String,java.lang.Object> attributes
-
isNametableInitialized
private boolean isNametableInitialized
-
request
private javax.servlet.ServletRequest request
-
response
private javax.servlet.ServletResponse response
-
session
private javax.servlet.http.HttpSession session
-
out
private javax.servlet.jsp.JspWriter out
-
baseOut
private JspWriterImpl baseOut
-
-
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
- Specified by:
initialize
in classjavax.servlet.jsp.PageContext
- Throws:
java.io.IOException
-
_initialize
private 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
- Throws:
java.io.IOException
-
initializePageScopeNameTable
private void initializePageScopeNameTable()
-
release
public void release()
- Specified by:
release
in classjavax.servlet.jsp.PageContext
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
- Specified by:
getAttribute
in classjavax.servlet.jsp.JspContext
-
doGetAttribute
private java.lang.Object doGetAttribute(java.lang.String name)
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name, int scope)
- Specified by:
getAttribute
in classjavax.servlet.jsp.JspContext
-
doGetAttribute
private java.lang.Object doGetAttribute(java.lang.String name, int scope)
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object attribute)
- Specified by:
setAttribute
in classjavax.servlet.jsp.JspContext
-
doSetAttribute
private void doSetAttribute(java.lang.String name, java.lang.Object attribute)
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object o, int scope)
- Specified by:
setAttribute
in classjavax.servlet.jsp.JspContext
-
doSetAttribute
private void doSetAttribute(java.lang.String name, java.lang.Object o, int scope)
-
removeAttribute
public void removeAttribute(java.lang.String name, int scope)
- Specified by:
removeAttribute
in classjavax.servlet.jsp.JspContext
-
doRemoveAttribute
private void doRemoveAttribute(java.lang.String name, int scope)
-
getAttributesScope
public int getAttributesScope(java.lang.String name)
- Specified by:
getAttributesScope
in classjavax.servlet.jsp.JspContext
-
doGetAttributeScope
private int doGetAttributeScope(java.lang.String name)
-
findAttribute
public java.lang.Object findAttribute(java.lang.String name)
- Specified by:
findAttribute
in classjavax.servlet.jsp.JspContext
-
doFindAttribute
private java.lang.Object doFindAttribute(java.lang.String name)
-
getAttributeNamesInScope
public java.util.Enumeration<java.lang.String> getAttributeNamesInScope(int scope)
- Specified by:
getAttributeNamesInScope
in classjavax.servlet.jsp.JspContext
-
doGetAttributeNamesInScope
private java.util.Enumeration<java.lang.String> doGetAttributeNamesInScope(int scope)
-
removeAttribute
public void removeAttribute(java.lang.String name)
- Specified by:
removeAttribute
in classjavax.servlet.jsp.JspContext
-
doRemoveAttribute
private void doRemoveAttribute(java.lang.String name)
-
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
-
getServlet
public javax.servlet.Servlet getServlet()
-
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
-
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()
Returns the exception associated with this page context, if any. Added wrapping for Throwables to avoid ClassCastException (see Bugzilla 31171 for details).- Specified by:
getException
in classjavax.servlet.jsp.PageContext
- Returns:
- The Exception associated with this page context, if any.
-
getPage
public java.lang.Object getPage()
- Specified by:
getPage
in classjavax.servlet.jsp.PageContext
-
getAbsolutePathRelativeToContext
private final java.lang.String getAbsolutePathRelativeToContext(java.lang.String relativeUrlPath)
-
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
-
getELResolver
private javax.el.ELResolver getELResolver()
-
getELContext
public javax.el.ELContext getELContext()
- Specified by:
getELContext
in classjavax.servlet.jsp.JspContext
-
getJspApplicationContext
JspApplicationContextImpl getJspApplicationContext()
-
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
-
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()
Provides programmatic access to the ExpressionEvaluator. The JSP Container must return a valid instance of an ExpressionEvaluator that can parse EL expressions.- 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
-
doHandlePageException
private void doHandlePageException(java.lang.Throwable t) throws java.io.IOException, javax.servlet.ServletException
- Throws:
java.io.IOException
javax.servlet.ServletException
-
getExpressionFactory
private static javax.el.ExpressionFactory getExpressionFactory(javax.servlet.jsp.PageContext pageContext)
-
evaluateExpression
public static java.lang.Object evaluateExpression(java.lang.String expression, java.lang.Class expectedType, javax.servlet.jsp.PageContext pageContext, ProtectedFunctionMapper functionMap) throws javax.el.ELException
Evaluates an EL expression- Parameters:
expression
- The expression to be evaluatedexpectedType
- The expected resulting typepageContext
- The page contextfunctionMap
- Maps prefix and name to Method- Returns:
- The result of the evaluation
- Throws:
javax.el.ELException
-
getValueExpression
public static javax.el.ValueExpression getValueExpression(java.lang.String expression, javax.servlet.jsp.PageContext pageContext, java.lang.Class expectedType, javax.el.FunctionMapper functionMap)
-
getMethodExpression
public static javax.el.MethodExpression getMethodExpression(java.lang.String expression, javax.servlet.jsp.PageContext pageContext, javax.el.FunctionMapper functionMap, java.lang.Class expectedType, java.lang.Class[] paramTypes)
-
setValueVariable
public static void setValueVariable(javax.servlet.jsp.PageContext pageContext, java.lang.String variable, javax.el.ValueExpression expression)
-
setMethodVariable
public static void setMethodVariable(javax.servlet.jsp.PageContext pageContext, java.lang.String variable, javax.el.MethodExpression expression)
-
-