<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>JspContextWrapper</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="JspContextWrapper";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/jasper/runtime/JspApplicationContextImpl.html" title="class in org.apache.jasper.runtime"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/jasper/runtime/JspFactoryImpl.html" title="class in org.apache.jasper.runtime"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/jasper/runtime/JspContextWrapper.html" target="_top">Frames</a></li>
<li><a href="JspContextWrapper.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.javax.servlet.jsp.PageContext">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.jasper.runtime</div>
<h2 title="Class JspContextWrapper" class="title">Class JspContextWrapper</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">javax.servlet.jsp.JspContext</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">javax.servlet.jsp.PageContext</a></li>
<li>
<ul class="inheritance">
<li>org.apache.jasper.runtime.JspContextWrapper</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">JspContextWrapper</span>
extends <a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></pre>
<div class="block">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().</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.servlet.jsp.PageContext">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;javax.servlet.jsp.<a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></h3>
<code><a href="../../../../javax/servlet/jsp/PageContext.html#APPLICATION">APPLICATION</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#APPLICATION_SCOPE">APPLICATION_SCOPE</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#CONFIG">CONFIG</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#EXCEPTION">EXCEPTION</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#OUT">OUT</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#PAGE">PAGE</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#PAGE_SCOPE">PAGE_SCOPE</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#PAGECONTEXT">PAGECONTEXT</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#REQUEST">REQUEST</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#REQUEST_SCOPE">REQUEST_SCOPE</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#RESPONSE">RESPONSE</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#SESSION">SESSION</a>, <a href="../../../../javax/servlet/jsp/PageContext.html#SESSION_SCOPE">SESSION_SCOPE</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#JspContextWrapper-javax.servlet.jsp.JspContext-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-java.util.Map-">JspContextWrapper</a></span>(<a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a>&nbsp;jspContext,
                 java.util.ArrayList&lt;java.lang.String&gt;&nbsp;nestedVars,
                 java.util.ArrayList&lt;java.lang.String&gt;&nbsp;atBeginVars,
                 java.util.ArrayList&lt;java.lang.String&gt;&nbsp;atEndVars,
                 java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;aliases)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#findAttribute-java.lang.String-">findAttribute</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Searches for the named attribute in page, request, session (if valid), and application scope(s) in order and
 returns the value associated or null.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#forward-java.lang.String-">forward</a></span>(java.lang.String&nbsp;relativeUrlPath)</code>
<div class="block">
 This method is used to re-direct, or "forward" the current ServletRequest and ServletResponse to another active
 component in the application.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getAttribute-java.lang.String-">getAttribute</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the object associated with the name in the page scope or null if not found.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getAttribute-java.lang.String-int-">getAttribute</a></span>(java.lang.String&nbsp;name,
            int&nbsp;scope)</code>
<div class="block">Return the object associated with the name in the specified scope or null if not found.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.util.Enumeration&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getAttributeNamesInScope-int-">getAttributeNamesInScope</a></span>(int&nbsp;scope)</code>
<div class="block">Enumerate all the attributes in a given scope.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getAttributesScope-java.lang.String-">getAttributesScope</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Get the scope where a given attribute is defined.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>ELContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getELContext--">getELContext</a></span>()</code>
<div class="block">Returns the <code>ELContext</code> associated with this <code>JspContext</code>.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.Exception</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getException--">getException</a></span>()</code>
<div class="block">The current value of the exception object (an Exception).</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getExpressionEvaluator--">getExpressionEvaluator</a></span>()</code>
<div class="block">Provides programmatic access to the ExpressionEvaluator.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getOut--">getOut</a></span>()</code>
<div class="block">The current value of the out object (a JspWriter).</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getPage--">getPage</a></span>()</code>
<div class="block">The current value of the page object (In a Servlet environment, this is an instance of javax.servlet.Servlet).</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getRequest--">getRequest</a></span>()</code>
<div class="block">The current value of the request object (a ServletRequest).</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getResponse--">getResponse</a></span>()</code>
<div class="block">The current value of the response object (a ServletResponse).</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getRootPageContext-javax.servlet.jsp.PageContext-">getRootPageContext</a></span>(<a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a>&nbsp;pc)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getServletConfig--">getServletConfig</a></span>()</code>
<div class="block">The ServletConfig instance.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getServletContext--">getServletContext</a></span>()</code>
<div class="block">The ServletContext instance.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getSession--">getSession</a></span>()</code>
<div class="block">The current value of the session object (an HttpSession).</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#getVariableResolver--">getVariableResolver</a></span>()</code>
<div class="block">Returns an instance of a VariableResolver that provides access to the implicit objects specified in the JSP
 specification using this JspContext as the context object.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#handlePageException-java.lang.Exception-">handlePageException</a></span>(java.lang.Exception&nbsp;ex)</code>
<div class="block">
 This method is intended to process an unhandled 'page' level exception by forwarding the exception to the
 specified error page for this JSP.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#handlePageException-java.lang.Throwable-">handlePageException</a></span>(java.lang.Throwable&nbsp;t)</code>
<div class="block">
 This method is intended to process an unhandled 'page' level exception by forwarding the exception to the
 specified error page for this JSP.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#include-java.lang.String-">include</a></span>(java.lang.String&nbsp;relativeUrlPath)</code>
<div class="block">
 Causes the resource specified to be processed as part of the current ServletRequest and ServletResponse being
 processed by the calling Thread.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#include-java.lang.String-boolean-">include</a></span>(java.lang.String&nbsp;relativeUrlPath,
       boolean&nbsp;flush)</code>
<div class="block">
 Causes the resource specified to be processed as part of the current ServletRequest and ServletResponse being
 processed by the calling Thread.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#initialize-javax.servlet.Servlet-javax.servlet.ServletRequest-javax.servlet.ServletResponse-java.lang.String-boolean-int-boolean-">initialize</a></span>(<a href="../../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</a>&nbsp;servlet,
          <a href="../../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</a>&nbsp;request,
          <a href="../../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</a>&nbsp;response,
          java.lang.String&nbsp;errorPageURL,
          boolean&nbsp;needsSession,
          int&nbsp;bufferSize,
          boolean&nbsp;autoFlush)</code>
<div class="block">
 The initialize method is called to initialize an uninitialized PageContext so that it may be used by a JSP
 Implementation class to service an incoming request and response within it's _jspService() method.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#popBody--">popBody</a></span>()</code>
<div class="block">Return the previous JspWriter "out" saved by the matching pushBody(), and update the value of the "out" attribute
 in the page scope attribute namespace of the JspContext.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#pushBody--">pushBody</a></span>()</code>
<div class="block">Return a new BodyContent object, save the current "out" JspWriter, and update the value of the "out" attribute in
 the page scope attribute namespace of the PageContext.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#pushBody-java.io.Writer-">pushBody</a></span>(java.io.Writer&nbsp;writer)</code>
<div class="block">Return a new JspWriter object that sends output to the provided Writer.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#release--">release</a></span>()</code>
<div class="block">
 This method shall "reset" the internal state of a PageContext, releasing all internal references, and preparing
 the PageContext for potential reuse by a later invocation of initialize().</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#removeAttribute-java.lang.String-">removeAttribute</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Remove the object reference associated with the given name from all scopes.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#removeAttribute-java.lang.String-int-">removeAttribute</a></span>(java.lang.String&nbsp;name,
               int&nbsp;scope)</code>
<div class="block">Remove the object reference associated with the specified name in the given scope.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#setAttribute-java.lang.String-java.lang.Object-">setAttribute</a></span>(java.lang.String&nbsp;name,
            java.lang.Object&nbsp;value)</code>
<div class="block">Register the name and value specified with page scope semantics.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#setAttribute-java.lang.String-java.lang.Object-int-">setAttribute</a></span>(java.lang.String&nbsp;name,
            java.lang.Object&nbsp;value,
            int&nbsp;scope)</code>
<div class="block">Register the name and value specified with appropriate scope semantics.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#syncBeforeInvoke--">syncBeforeInvoke</a></span>()</code>
<div class="block">Synchronize variables before fragment invokation</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#syncBeginTagFile--">syncBeginTagFile</a></span>()</code>
<div class="block">Synchronize variables at begin of tag file</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/runtime/JspContextWrapper.html#syncEndTagFile--">syncEndTagFile</a></span>()</code>
<div class="block">Synchronize variables at end of tag file</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.jsp.PageContext">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;javax.servlet.jsp.<a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></h3>
<code><a href="../../../../javax/servlet/jsp/PageContext.html#getErrorData--">getErrorData</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="JspContextWrapper-javax.servlet.jsp.JspContext-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-java.util.Map-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JspContextWrapper</h4>
<pre>public&nbsp;JspContextWrapper(<a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a>&nbsp;jspContext,
                         java.util.ArrayList&lt;java.lang.String&gt;&nbsp;nestedVars,
                         java.util.ArrayList&lt;java.lang.String&gt;&nbsp;atBeginVars,
                         java.util.ArrayList&lt;java.lang.String&gt;&nbsp;atEndVars,
                         java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;aliases)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="initialize-javax.servlet.Servlet-javax.servlet.ServletRequest-javax.servlet.ServletResponse-java.lang.String-boolean-int-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</a>&nbsp;servlet,
                       <a href="../../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</a>&nbsp;request,
                       <a href="../../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</a>&nbsp;response,
                       java.lang.String&nbsp;errorPageURL,
                       boolean&nbsp;needsSession,
                       int&nbsp;bufferSize,
                       boolean&nbsp;autoFlush)
                throws java.io.IOException,
                       java.lang.IllegalStateException,
                       java.lang.IllegalArgumentException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#initialize-javax.servlet.Servlet-javax.servlet.ServletRequest-javax.servlet.ServletResponse-java.lang.String-boolean-int-boolean-">PageContext</a></code></span></div>
<div class="block"><p>
 The initialize method is called to initialize an uninitialized PageContext so that it may be used by a JSP
 Implementation class to service an incoming request and response within it's _jspService() method.

 <p>
 This method is typically called from JspFactory.getPageContext() in order to initialize state.

 <p>
 This method is required to create an initial JspWriter, and associate the "out" name in page scope with this
 newly created object.

 <p>
 This method should not be used by page or tag library authors.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#initialize-javax.servlet.Servlet-javax.servlet.ServletRequest-javax.servlet.ServletResponse-java.lang.String-boolean-int-boolean-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>servlet</code> - The Servlet that is associated with this PageContext</dd>
<dd><code>request</code> - The currently pending request for this Servlet</dd>
<dd><code>response</code> - The currently pending response for this Servlet</dd>
<dd><code>errorPageURL</code> - The value of the errorpage attribute from the page directive or null</dd>
<dd><code>needsSession</code> - The value of the session attribute from the page directive</dd>
<dd><code>bufferSize</code> - The value of the buffer attribute from the page directive</dd>
<dd><code>autoFlush</code> - The value of the autoflush attribute from the page directive</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - during creation of JspWriter</dd>
<dd><code>java.lang.IllegalStateException</code> - if out not correctly initialized</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If one of the given parameters is invalid</dd>
</dl>
</li>
</ul>
<a name="getAttribute-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttribute</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getAttribute(java.lang.String&nbsp;name)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#getAttribute-java.lang.String-">JspContext</a></code></span></div>
<div class="block">Returns the object associated with the name in the page scope or null if not found.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#getAttribute-java.lang.String-">getAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the attribute to get</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the object associated with the name in the page scope or null if not found.</dd>
</dl>
</li>
</ul>
<a name="getAttribute-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttribute</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getAttribute(java.lang.String&nbsp;name,
                                     int&nbsp;scope)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#getAttribute-java.lang.String-int-">JspContext</a></code></span></div>
<div class="block">Return the object associated with the name in the specified scope or null if not found.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#getAttribute-java.lang.String-int-">getAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the attribute to set</dd>
<dd><code>scope</code> - the scope with which to associate the name/object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the object associated with the name in the specified scope or null if not found.</dd>
</dl>
</li>
</ul>
<a name="setAttribute-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttribute</h4>
<pre>public&nbsp;void&nbsp;setAttribute(java.lang.String&nbsp;name,
                         java.lang.Object&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#setAttribute-java.lang.String-java.lang.Object-">JspContext</a></code></span></div>
<div class="block">Register the name and value specified with page scope semantics. If the value passed in is <code>null</code>,
 this has the same effect as calling <code>removeAttribute( name, PageContext.PAGE_SCOPE )</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#setAttribute-java.lang.String-java.lang.Object-">setAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the attribute to set</dd>
<dd><code>value</code> - the value to associate with the name, or null if the attribute is to be removed from the page scope.</dd>
</dl>
</li>
</ul>
<a name="setAttribute-java.lang.String-java.lang.Object-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttribute</h4>
<pre>public&nbsp;void&nbsp;setAttribute(java.lang.String&nbsp;name,
                         java.lang.Object&nbsp;value,
                         int&nbsp;scope)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#setAttribute-java.lang.String-java.lang.Object-int-">JspContext</a></code></span></div>
<div class="block">Register the name and value specified with appropriate scope semantics. If the value passed in is
 <code>null</code>, this has the same effect as calling <code>removeAttribute( name, scope )</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#setAttribute-java.lang.String-java.lang.Object-int-">setAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the attribute to set</dd>
<dd><code>value</code> - the object to associate with the name, or null if the attribute is to be removed from the specified
              scope.</dd>
<dd><code>scope</code> - the scope with which to associate the name/object</dd>
</dl>
</li>
</ul>
<a name="findAttribute-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findAttribute</h4>
<pre>public&nbsp;java.lang.Object&nbsp;findAttribute(java.lang.String&nbsp;name)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#findAttribute-java.lang.String-">JspContext</a></code></span></div>
<div class="block">Searches for the named attribute in page, request, session (if valid), and application scope(s) in order and
 returns the value associated or null.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#findAttribute-java.lang.String-">findAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the attribute to search for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated or null</dd>
</dl>
</li>
</ul>
<a name="removeAttribute-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAttribute</h4>
<pre>public&nbsp;void&nbsp;removeAttribute(java.lang.String&nbsp;name)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#removeAttribute-java.lang.String-">JspContext</a></code></span></div>
<div class="block">Remove the object reference associated with the given name from all scopes. Does nothing if there is no such
 object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#removeAttribute-java.lang.String-">removeAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the object to remove.</dd>
</dl>
</li>
</ul>
<a name="removeAttribute-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAttribute</h4>
<pre>public&nbsp;void&nbsp;removeAttribute(java.lang.String&nbsp;name,
                            int&nbsp;scope)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#removeAttribute-java.lang.String-int-">JspContext</a></code></span></div>
<div class="block">Remove the object reference associated with the specified name in the given scope. Does nothing if there is no
 such object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#removeAttribute-java.lang.String-int-">removeAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the object to remove.</dd>
<dd><code>scope</code> - The scope where to look.</dd>
</dl>
</li>
</ul>
<a name="getAttributesScope-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributesScope</h4>
<pre>public&nbsp;int&nbsp;getAttributesScope(java.lang.String&nbsp;name)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#getAttributesScope-java.lang.String-">JspContext</a></code></span></div>
<div class="block">Get the scope where a given attribute is defined.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#getAttributesScope-java.lang.String-">getAttributesScope</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the attribute to return the scope for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the scope of the object associated with the name specified or 0</dd>
</dl>
</li>
</ul>
<a name="getAttributeNamesInScope-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributeNamesInScope</h4>
<pre>public&nbsp;java.util.Enumeration&lt;java.lang.String&gt;&nbsp;getAttributeNamesInScope(int&nbsp;scope)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#getAttributeNamesInScope-int-">JspContext</a></code></span></div>
<div class="block">Enumerate all the attributes in a given scope.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#getAttributeNamesInScope-int-">getAttributeNamesInScope</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scope</code> - the scope to enumerate all the attributes for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an enumeration of names (java.lang.String) of all the attributes the specified scope</dd>
</dl>
</li>
</ul>
<a name="release--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
<pre>public&nbsp;void&nbsp;release()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#release--">PageContext</a></code></span></div>
<div class="block"><p>
 This method shall "reset" the internal state of a PageContext, releasing all internal references, and preparing
 the PageContext for potential reuse by a later invocation of initialize(). This method is typically called from
 JspFactory.releasePageContext().

 <p>
 Subclasses shall envelope this method.

 <p>
 This method should not be used by page or tag library authors.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#release--">release</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
</dl>
</li>
</ul>
<a name="getOut--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOut</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</a>&nbsp;getOut()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#getOut--">JspContext</a></code></span></div>
<div class="block">The current value of the out object (a JspWriter).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#getOut--">getOut</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current JspWriter stream being used for client response</dd>
</dl>
</li>
</ul>
<a name="getSession--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSession</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</a>&nbsp;getSession()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#getSession--">PageContext</a></code></span></div>
<div class="block">The current value of the session object (an HttpSession).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#getSession--">getSession</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the HttpSession for this PageContext or null</dd>
</dl>
</li>
</ul>
<a name="getPage--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPage</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getPage()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#getPage--">PageContext</a></code></span></div>
<div class="block">The current value of the page object (In a Servlet environment, this is an instance of javax.servlet.Servlet).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#getPage--">getPage</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Page implementation class instance associated with this PageContext</dd>
</dl>
</li>
</ul>
<a name="getRequest--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequest</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</a>&nbsp;getRequest()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#getRequest--">PageContext</a></code></span></div>
<div class="block">The current value of the request object (a ServletRequest).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#getRequest--">getRequest</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The ServletRequest for this PageContext</dd>
</dl>
</li>
</ul>
<a name="getResponse--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponse</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</a>&nbsp;getResponse()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#getResponse--">PageContext</a></code></span></div>
<div class="block">The current value of the response object (a ServletResponse).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#getResponse--">getResponse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ServletResponse for this PageContext</dd>
</dl>
</li>
</ul>
<a name="getException--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getException</h4>
<pre>public&nbsp;java.lang.Exception&nbsp;getException()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#getException--">PageContext</a></code></span></div>
<div class="block">The current value of the exception object (an Exception).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#getException--">getException</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>any exception passed to this as an errorpage</dd>
</dl>
</li>
</ul>
<a name="getServletConfig--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServletConfig</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</a>&nbsp;getServletConfig()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#getServletConfig--">PageContext</a></code></span></div>
<div class="block">The ServletConfig instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#getServletConfig--">getServletConfig</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ServletConfig for this PageContext</dd>
</dl>
</li>
</ul>
<a name="getServletContext--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServletContext</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</a>&nbsp;getServletContext()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#getServletContext--">PageContext</a></code></span></div>
<div class="block">The ServletContext instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#getServletContext--">getServletContext</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ServletContext for this PageContext</dd>
</dl>
</li>
</ul>
<a name="getRootPageContext-javax.servlet.jsp.PageContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootPageContext</h4>
<pre>public static&nbsp;<a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a>&nbsp;getRootPageContext(<a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a>&nbsp;pc)</pre>
</li>
</ul>
<a name="getELContext--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getELContext</h4>
<pre>public&nbsp;ELContext&nbsp;getELContext()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#getELContext--">JspContext</a></code></span></div>
<div class="block">Returns the <code>ELContext</code> associated with this <code>JspContext</code>.

 <p>
 The <code>ELContext</code> is created lazily and is reused if it already exists. There is a new
 <code>ELContext</code> for each <code>JspContext</code>.
 </p>

 <p>
 The <code>ELContext</code> must contain the <code>ELResolver</code> described in the JSP specification (and in
 the javadocs for <a href="../../../../javax/servlet/jsp/JspApplicationContext.html#addELResolver-ELResolver-"><code>JspApplicationContext.addELResolver(ELResolver)</code></a>).
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#getELContext--">getELContext</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <code>ELContext</code> associated with this <code>JspContext</code>.</dd>
</dl>
</li>
</ul>
<a name="forward-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forward</h4>
<pre>public&nbsp;void&nbsp;forward(java.lang.String&nbsp;relativeUrlPath)
             throws <a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>,
                    java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#forward-java.lang.String-">PageContext</a></code></span></div>
<div class="block"><p>
 This method is used to re-direct, or "forward" the current ServletRequest and ServletResponse to another active
 component in the application.
 </p>
 <p>
 If the <I> relativeUrlPath </I> begins with a "/" then the URL specified is calculated relative to the DOCROOT of
 the <code> ServletContext </code> for this JSP. If the path does not begin with a "/" then the URL specified is
 calculated relative to the URL of the request that was mapped to the calling JSP.
 </p>
 <p>
 It is only valid to call this method from a <code> Thread </code> executing within a
 <code> _jspService(...) </code> method of a JSP.
 </p>
 <p>
 Once this method has been called successfully, it is illegal for the calling <code> Thread </code> to attempt to
 modify the <code>
 ServletResponse </code> object. Any such attempt to do so, shall result in undefined behavior. Typically, callers
 immediately return from <code> _jspService(...) </code> after calling this method.
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#forward-java.lang.String-">forward</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>relativeUrlPath</code> - specifies the relative URL path to the target resource as described above</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the page that was forwarded to throws a ServletException</dd>
<dd><code>java.io.IOException</code> - if an I/O error occurred while forwarding</dd>
</dl>
</li>
</ul>
<a name="include-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>include</h4>
<pre>public&nbsp;void&nbsp;include(java.lang.String&nbsp;relativeUrlPath)
             throws <a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>,
                    java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#include-java.lang.String-">PageContext</a></code></span></div>
<div class="block"><p>
 Causes the resource specified to be processed as part of the current ServletRequest and ServletResponse being
 processed by the calling Thread. The output of the target resources processing of the request is written directly
 to the ServletResponse output stream.
 </p>
 <p>
 The current JspWriter "out" for this JSP is flushed as a side-effect of this call, prior to processing the
 include.
 </p>
 <p>
 If the <I> relativeUrlPath </I> begins with a "/" then the URL specified is calculated relative to the DOCROOT of
 the <code>ServletContext</code> for this JSP. If the path does not begin with a "/" then the URL specified is
 calculated relative to the URL of the request that was mapped to the calling JSP.
 </p>
 <p>
 It is only valid to call this method from a <code> Thread </code> executing within a
 <code> _jspService(...) </code> method of a JSP.
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#include-java.lang.String-">include</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>relativeUrlPath</code> - specifies the relative URL path to the target resource to be included</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the page that was forwarded to throws a ServletException</dd>
<dd><code>java.io.IOException</code> - if an I/O error occurred while forwarding</dd>
</dl>
</li>
</ul>
<a name="include-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>include</h4>
<pre>public&nbsp;void&nbsp;include(java.lang.String&nbsp;relativeUrlPath,
                    boolean&nbsp;flush)
             throws <a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a>,
                    java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#include-java.lang.String-boolean-">PageContext</a></code></span></div>
<div class="block"><p>
 Causes the resource specified to be processed as part of the current ServletRequest and ServletResponse being
 processed by the calling Thread. The output of the target resources processing of the request is written directly
 to the current JspWriter returned by a call to getOut().
 </p>
 <p>
 If flush is true, The current JspWriter "out" for this JSP is flushed as a side-effect of this call, prior to
 processing the include. Otherwise, the JspWriter "out" is not flushed.
 </p>
 <p>
 If the <i>relativeUrlPath</i> begins with a "/" then the URL specified is calculated relative to the DOCROOT of
 the <code>ServletContext</code> for this JSP. If the path does not begin with a "/" then the URL specified is
 calculated relative to the URL of the request that was mapped to the calling JSP.
 </p>
 <p>
 It is only valid to call this method from a <code> Thread </code> executing within a
 <code> _jspService(...) </code> method of a JSP.
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#include-java.lang.String-boolean-">include</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>relativeUrlPath</code> - specifies the relative URL path to the target resource to be included</dd>
<dd><code>flush</code> - True if the JspWriter is to be flushed before the include, or false if not.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if the page that was forwarded to throws a ServletException</dd>
<dd><code>java.io.IOException</code> - if an I/O error occurred while forwarding</dd>
</dl>
</li>
</ul>
<a name="getVariableResolver--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVariableResolver</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</a>&nbsp;getVariableResolver()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#getVariableResolver--">JspContext</a></code></span></div>
<div class="block">Returns an instance of a VariableResolver that provides access to the implicit objects specified in the JSP
 specification using this JspContext as the context object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#getVariableResolver--">getVariableResolver</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A valid instance of a VariableResolver.</dd>
</dl>
</li>
</ul>
<a name="pushBody--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pushBody</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</a>&nbsp;pushBody()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#pushBody--">PageContext</a></code></span></div>
<div class="block">Return a new BodyContent object, save the current "out" JspWriter, and update the value of the "out" attribute in
 the page scope attribute namespace of the PageContext.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#pushBody--">pushBody</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new BodyContent</dd>
</dl>
</li>
</ul>
<a name="pushBody-java.io.Writer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pushBody</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</a>&nbsp;pushBody(java.io.Writer&nbsp;writer)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#pushBody-java.io.Writer-">JspContext</a></code></span></div>
<div class="block">Return a new JspWriter object that sends output to the provided Writer. Saves the current "out" JspWriter, and
 updates the value of the "out" attribute in the page scope attribute namespace of the JspContext.
 <p>
 The returned JspWriter must implement all methods and behave as though it were unbuffered. More specifically:
 </p>
 <ul>
 <li>clear() must throw an IOException</li>
 <li>clearBuffer() does nothing</li>
 <li>getBufferSize() always returns 0</li>
 <li>getRemaining() always returns 0</li>
 </ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#pushBody-java.io.Writer-">pushBody</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>writer</code> - The Writer for the returned JspWriter to send output to.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new JspWriter that writes to the given Writer.</dd>
</dl>
</li>
</ul>
<a name="popBody--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>popBody</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</a>&nbsp;popBody()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#popBody--">JspContext</a></code></span></div>
<div class="block">Return the previous JspWriter "out" saved by the matching pushBody(), and update the value of the "out" attribute
 in the page scope attribute namespace of the JspContext.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#popBody--">popBody</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the saved JspWriter.</dd>
</dl>
</li>
</ul>
<a name="getExpressionEvaluator--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpressionEvaluator</h4>
<pre>public&nbsp;<a href="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</a>&nbsp;getExpressionEvaluator()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html#getExpressionEvaluator--">JspContext</a></code></span></div>
<div class="block">Provides programmatic access to the ExpressionEvaluator. The JSP Container must return a valid instance of an
 ExpressionEvaluator that can parse EL expressions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/JspContext.html#getExpressionEvaluator--">getExpressionEvaluator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A valid instance of an ExpressionEvaluator.</dd>
</dl>
</li>
</ul>
<a name="handlePageException-java.lang.Exception-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handlePageException</h4>
<pre>public&nbsp;void&nbsp;handlePageException(java.lang.Exception&nbsp;ex)
                         throws java.io.IOException,
                                <a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#handlePageException-java.lang.Exception-">PageContext</a></code></span></div>
<div class="block"><p>
 This method is intended to process an unhandled 'page' level exception by forwarding the exception to the
 specified error page for this JSP. If forwarding is not possible (for example because the response has already
 been committed), an implementation dependent mechanism should be used to invoke the error page (e.g. "including"
 the error page instead).

 <p>
 If no error page is defined in the page, the exception should be rethrown so that the standard servlet error
 handling takes over.

 <p>
 A JSP implementation class shall typically clean up any local state prior to invoking this and will return
 immediately thereafter. It is illegal to generate any output to the client, or to modify any ServletResponse
 state after invoking this call.

 <p>
 This method is kept for backwards compatiblity reasons. Newly generated code should use
 PageContext.handlePageException(Throwable).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#handlePageException-java.lang.Exception-">handlePageException</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ex</code> - the exception to be handled</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an I/O error occurred while invoking the error page</dd>
<dd><code><a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if an error occurs while invoking the error page</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/PageContext.html#handlePageException-java.lang.Throwable-"><code>PageContext.handlePageException(Throwable)</code></a></dd>
</dl>
</li>
</ul>
<a name="handlePageException-java.lang.Throwable-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handlePageException</h4>
<pre>public&nbsp;void&nbsp;handlePageException(java.lang.Throwable&nbsp;t)
                         throws java.io.IOException,
                                <a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html#handlePageException-java.lang.Throwable-">PageContext</a></code></span></div>
<div class="block"><p>
 This method is intended to process an unhandled 'page' level exception by forwarding the exception to the
 specified error page for this JSP. If forwarding is not possible (for example because the response has already
 been committed), an implementation dependent mechanism should be used to invoke the error page (e.g. "including"
 the error page instead).

 <p>
 If no error page is defined in the page, the exception should be rethrown so that the standard servlet error
 handling takes over.

 <p>
 This method is intended to process an unhandled "page" level exception by redirecting the exception to either the
 specified error page for this JSP, or if none was specified, to perform some implementation dependent action.

 <p>
 A JSP implementation class shall typically clean up any local state prior to invoking this and will return
 immediately thereafter. It is illegal to generate any output to the client, or to modify any ServletResponse
 state after invoking this call.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../javax/servlet/jsp/PageContext.html#handlePageException-java.lang.Throwable-">handlePageException</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>t</code> - the throwable to be handled</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an I/O error occurred while invoking the error page</dd>
<dd><code><a href="../../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</a></code> - if an error occurs while invoking the error page</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/servlet/jsp/PageContext.html#handlePageException-java.lang.Exception-"><code>PageContext.handlePageException(Exception)</code></a></dd>
</dl>
</li>
</ul>
<a name="syncBeginTagFile--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncBeginTagFile</h4>
<pre>public&nbsp;void&nbsp;syncBeginTagFile()</pre>
<div class="block">Synchronize variables at begin of tag file</div>
</li>
</ul>
<a name="syncBeforeInvoke--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncBeforeInvoke</h4>
<pre>public&nbsp;void&nbsp;syncBeforeInvoke()</pre>
<div class="block">Synchronize variables before fragment invokation</div>
</li>
</ul>
<a name="syncEndTagFile--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>syncEndTagFile</h4>
<pre>public&nbsp;void&nbsp;syncEndTagFile()</pre>
<div class="block">Synchronize variables at end of tag file</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/jasper/runtime/JspApplicationContextImpl.html" title="class in org.apache.jasper.runtime"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/jasper/runtime/JspFactoryImpl.html" title="class in org.apache.jasper.runtime"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/jasper/runtime/JspContextWrapper.html" target="_top">Frames</a></li>
<li><a href="JspContextWrapper.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.javax.servlet.jsp.PageContext">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
