blob: 44637dc2454c493a725ff818b907e337e6c1a61b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_19) on Sun Mar 20 20:56:04 PKT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
ClickServlet (Click Framework API - v2.3.0)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.click.ClickServlet class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="ClickServlet (Click Framework API - v2.3.0)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/apache/click/Behavior.html" title="interface in org.apache.click"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/apache/click/ClickServlet.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ClickServlet.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.click</FONT>
<BR>
Class ClickServlet</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html" title="class or interface in javax.servlet">javax.servlet.GenericServlet</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">javax.servlet.http.HttpServlet</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.click.ClickServlet</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/Servlet.html" title="class or interface in javax.servlet">Servlet</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletConfig.html" title="class or interface in javax.servlet">ServletConfig</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>ClickServlet</B><DT>extends <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">HttpServlet</A></DL>
</PRE>
<P>
Provides the Click application HttpServlet.
<p/>
Generally developers will simply configure the <tt>ClickServlet</tt> and
will not use it directly in their code. For a Click web application to
function the <tt>ClickServlet</tt> must be configured in the web
application's <tt>/WEB-INF/web.xml</tt> file. A simple web application which
maps all <tt>*.htm</tt> requests to a ClickServlet is provided below.
<pre class="codeConfig">
&lt;web-app&gt;
&lt;servlet&gt;
&lt;servlet-name&gt;<font color="blue">click-servlet</font>&lt;/servlet-name&gt;
&lt;servlet-class&gt;<font color="red">org.apache.click.ClickServlet</font>&lt;/servlet-class&gt;
&lt;load-on-startup&gt;<font color="red">0</font>&lt;/load-on-startup&gt;
&lt;/servlet&gt;
&lt;servlet-mapping&gt;
&lt;servlet-name&gt;<font color="blue">click-servlet</font>&lt;/servlet-name&gt;
&lt;url-pattern&gt;<font color="red">*.htm</font>&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
&lt;/web-app&gt; </pre>
By default the <tt>ClickServlet</tt> will attempt to load an application
configuration file using the path: &nbsp; <tt>/WEB-INF/click.xml</tt>
<h4>Servlet Mapping</h4>
By convention all Click page templates should have a .htm extension, and
the ClickServlet should be mapped to process all *.htm URL requests. With
this convention you have all the static HTML pages use a .html extension
and they will not be processed as Click pages.
<h4>Load On Startup</h4>
Note you should always set <tt>load-on-startup</tt> element to be 0 so the
servlet is initialized when the server is started. This will prevent any
delay for the first client which uses the application.
<p/>
The <tt>ClickServlet</tt> performs as much work as possible at startup to
improve performance later on. The Click start up and caching strategy is
configured with the Click application mode in the "<tt>click.xml</tt>" file.
See the User Guide for information on how to configure the application mode.
<h4>ConfigService</h4>
A single application <A HREF="../../../org/apache/click/service/ConfigService.html" title="interface in org.apache.click.service"><CODE>ConfigService</CODE></A> instance is created by the ClickServlet at
startup. Once the ConfigService has been initialized it is stored in the
ServletContext using the key <A HREF="../../../org/apache/click/service/ConfigService.html#CONTEXT_NAME">"org.apache.click.service.ConfigService"</A>.
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.apache.click.ClickServlet">Serialized Form</A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#CLICK_FORWARD">CLICK_FORWARD</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The forwarded request marker attribute: &nbsp; "<tt>click-forward</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#CONFIG_SERVICE_CLASS">CONFIG_SERVICE_CLASS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The click application configuration service classname init parameter name:
&nbsp; "<tt>config-service-class</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/service/ConfigService.html" title="interface in org.apache.click.service">ConfigService</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#configService">configService</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The click application configuration service.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#FORWARD_PAGE">FORWARD_PAGE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Page to forward to request attribute: &nbsp; "<tt>click-page</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/service/LogService.html" title="interface in org.apache.click.service">LogService</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#logger">logger</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The application log service.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;ognl.MemberAccess</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#memberAccess">memberAccess</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The OGNL member access handler.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/service/ResourceService.html" title="interface in org.apache.click.service">ResourceService</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#resourceService">resourceService</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The application resource service.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#TYPE_CONVERTER_CLASS">TYPE_CONVERTER_CLASS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The custom TypeConverter classname as an init parameter name:
&nbps; "<tt>type-converter-class</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;ognl.TypeConverter</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#typeConverter">typeConverter</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The request parameters OGNL type converter.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#ClickServlet()">ClickServlet</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#activatePageInstance(org.apache.click.Page)">activatePageInstance</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an extension point for ClickServlet sub classes to activate
stateful page which may have been deserialized.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/ActionEventDispatcher.html" title="class in org.apache.click">ActionEventDispatcher</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createActionEventDispatcher()">createActionEventDispatcher</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns a new ActionEventDispatcher instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createContext(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)">createContext</A></B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
boolean&nbsp;isPost)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns a new Context instance for this path, class and
request.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/ControlRegistry.html" title="class in org.apache.click">ControlRegistry</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createControlRegistry()">createControlRegistry</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns a new ControlRegistry instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/util/ErrorPage.html" title="class in org.apache.click.util">ErrorPage</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createErrorPage(java.lang.Class, java.lang.Throwable)">createErrorPage</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A>&nbsp;exception)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns a new ErrorPage instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;
<BR>
T</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createPage(java.lang.Class, javax.servlet.http.HttpServletRequest)">createPage</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;T&gt;&nbsp;pageClass,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new Page instance for the page Class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createPage(org.apache.click.Context)">createPage</A></B>(<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new Page instance for the given request context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;
<BR>
T</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createPage(java.lang.String, javax.servlet.http.HttpServletRequest)">createPage</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new Page instance for the given path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/util/PageImports.html" title="class in org.apache.click.util">PageImports</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createPageImports(org.apache.click.Page)">createPageImports</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns a new PageImports instance for the specified page.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#createTemplateModel(org.apache.click.Page)">createTemplateModel</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new VelocityContext for the given pages model and Context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#destroy()">destroy</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doGet</A></B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle HTTP GET requests.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPost</A></B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle HTTP POST requests.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/service/ConfigService.html" title="interface in org.apache.click.service">ConfigService</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#getConfigService()">getConfigService</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the application configuration service instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;ognl.TypeConverter</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#getTypeConverter()">getTypeConverter</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the request parameters OGNL <tt>TypeConverter</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#handleAjaxException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean, java.lang.Throwable, java.lang.Class)">handleAjaxException</A></B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
boolean&nbsp;isPost,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A>&nbsp;exception,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an Ajax exception handler.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#handleException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean, java.lang.Throwable, java.lang.Class)">handleException</A></B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
boolean&nbsp;isPost,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A>&nbsp;exception,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides the application exception handler.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)">handleRequest</A></B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
boolean&nbsp;isPost)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle the given servlet request and render the results to the
servlet response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#init()">init</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize the Click servlet and the Velocity runtime.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#initPage(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)">initPage</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize a new page instance using
<A HREF="../../../org/apache/click/ClickServlet.html#newPageInstance(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)"><CODE>newPageInstance(String, Class, HttpServletRequest)</CODE></A> method and
setting format, headers and the forward if a JSP.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#newPageInstance(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)">newPageInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new Page instance for the given page path, class and request.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#performOnInit(org.apache.click.Page, org.apache.click.Context)">performOnInit</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform the onInit event callback for the specified page.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#performOnPostOrGet(org.apache.click.Page, org.apache.click.Context, boolean)">performOnPostOrGet</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context,
boolean&nbsp;isPost)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform onPost or onGet event callback for the specified page.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#performOnProcess(org.apache.click.Page, org.apache.click.Context, org.apache.click.ActionEventDispatcher)">performOnProcess</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context,
<A HREF="../../../org/apache/click/ActionEventDispatcher.html" title="class in org.apache.click">ActionEventDispatcher</A>&nbsp;eventDispatcher)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform onProcess event callback for the specified page, returning true
if processing should continue, false otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#performOnRender(org.apache.click.Page, org.apache.click.Context)">performOnRender</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform onRender event callback for the specified page.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#performOnSecurityCheck(org.apache.click.Page, org.apache.click.Context)">performOnSecurityCheck</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform the onSecurityCheck event callback for the specified page,
returning true if processing should continue, false otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/apache/click/ActionResult.html" title="class in org.apache.click">ActionResult</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#performPageAction(org.apache.click.Page, java.lang.String, org.apache.click.Context)">performPageAction</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;pageAction,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform the page action for the given page and return the action result.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#performRender(org.apache.click.Page, org.apache.click.Context)">performRender</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs rendering of the specified page.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#performRender(org.apache.click.Page, org.apache.click.Context, org.apache.click.ActionResult)">performRender</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context,
<A HREF="../../../org/apache/click/ActionResult.html" title="class in org.apache.click">ActionResult</A>&nbsp;actionResult)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs rendering of the specified page.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#processAjaxPageEvents(org.apache.click.Page, org.apache.click.Context)">processAjaxPageEvents</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the given page events, invoking the "on" event callback methods
and directing the response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#processAjaxTargetControls(org.apache.click.Context, org.apache.click.ActionEventDispatcher, org.apache.click.ControlRegistry)">processAjaxTargetControls</A></B>(<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context,
<A HREF="../../../org/apache/click/ActionEventDispatcher.html" title="class in org.apache.click">ActionEventDispatcher</A>&nbsp;eventDispatcher,
<A HREF="../../../org/apache/click/ControlRegistry.html" title="class in org.apache.click">ControlRegistry</A>&nbsp;controlRegistry)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process all Ajax target controls and return true if the page should continue
processing, false otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#processPage(org.apache.click.Page)">processPage</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the given page invoking its "on" event callback methods
and directing the response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#processPageEvents(org.apache.click.Page, org.apache.click.Context)">processPageEvents</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the given page events, invoking the "on" event callback methods
and directing the response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#processPageOnDestroy(org.apache.click.Page, long)">processPageOnDestroy</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
long&nbsp;startTime)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the given pages controls <tt>onDestroy</tt> methods, reset the pages
navigation state and process the pages <tt>onDestroy</tt> method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#processPageRequestParams(org.apache.click.Page)">processPageRequestParams</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the page binding any request parameters to any public Page
fields with the same name which are "primitive" types.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#renderActionResult(org.apache.click.ActionResult, org.apache.click.Page, org.apache.click.Context)">renderActionResult</A></B>(<A HREF="../../../org/apache/click/ActionResult.html" title="class in org.apache.click">ActionResult</A>&nbsp;actionResult,
<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the given ActionResult.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#renderJSP(org.apache.click.Page)">renderJSP</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the given page as a JSP to the response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#renderTemplate(org.apache.click.Page)">renderTemplate</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the Velocity template defined by the page's path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#setPageResponseHeaders(javax.servlet.http.HttpServletResponse, java.util.Map)">setPageResponseHeaders</A></B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&gt;&nbsp;headers)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the HTTP headers in the servlet response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/click/ClickServlet.html#setRequestAttributes(org.apache.click.Page)">setRequestAttributes</A></B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the page model, context, format, messages and path as request
attributes to support JSP rendering.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.http.HttpServlet"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class javax.servlet.http.<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">HttpServlet</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doDelete</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doHead</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doOptions</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doPut</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doTrace</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#getLastModified(javax.servlet.http.HttpServletRequest)" title="class or interface in javax.servlet.http">getLastModified</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">service</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)" title="class or interface in javax.servlet.http">service</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.GenericServlet"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class javax.servlet.<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html" title="class or interface in javax.servlet">GenericServlet</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#getInitParameter(java.lang.String)" title="class or interface in javax.servlet">getInitParameter</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#getInitParameterNames()" title="class or interface in javax.servlet">getInitParameterNames</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#getServletConfig()" title="class or interface in javax.servlet">getServletConfig</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#getServletContext()" title="class or interface in javax.servlet">getServletContext</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#getServletInfo()" title="class or interface in javax.servlet">getServletInfo</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#getServletName()" title="class or interface in javax.servlet">getServletName</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)" title="class or interface in javax.servlet">init</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#log(java.lang.String)" title="class or interface in javax.servlet">log</A>, <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#log(java.lang.String, java.lang.Throwable)" title="class or interface in javax.servlet">log</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="CONFIG_SERVICE_CLASS"><!-- --></A><H3>
CONFIG_SERVICE_CLASS</H3>
<PRE>
protected static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>CONFIG_SERVICE_CLASS</B></PRE>
<DL>
<DD>The click application configuration service classname init parameter name:
&nbsp; "<tt>config-service-class</tt>".
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.click.ClickServlet.CONFIG_SERVICE_CLASS">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="TYPE_CONVERTER_CLASS"><!-- --></A><H3>
TYPE_CONVERTER_CLASS</H3>
<PRE>
protected static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>TYPE_CONVERTER_CLASS</B></PRE>
<DL>
<DD>The custom TypeConverter classname as an init parameter name:
&nbps; "<tt>type-converter-class</tt>".
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.click.ClickServlet.TYPE_CONVERTER_CLASS">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="CLICK_FORWARD"><!-- --></A><H3>
CLICK_FORWARD</H3>
<PRE>
protected static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>CLICK_FORWARD</B></PRE>
<DL>
<DD>The forwarded request marker attribute: &nbsp; "<tt>click-forward</tt>".
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.click.ClickServlet.CLICK_FORWARD">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="FORWARD_PAGE"><!-- --></A><H3>
FORWARD_PAGE</H3>
<PRE>
protected static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>FORWARD_PAGE</B></PRE>
<DL>
<DD>The Page to forward to request attribute: &nbsp; "<tt>click-page</tt>".
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.click.ClickServlet.FORWARD_PAGE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="configService"><!-- --></A><H3>
configService</H3>
<PRE>
protected <A HREF="../../../org/apache/click/service/ConfigService.html" title="interface in org.apache.click.service">ConfigService</A> <B>configService</B></PRE>
<DL>
<DD>The click application configuration service.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="logger"><!-- --></A><H3>
logger</H3>
<PRE>
protected <A HREF="../../../org/apache/click/service/LogService.html" title="interface in org.apache.click.service">LogService</A> <B>logger</B></PRE>
<DL>
<DD>The application log service.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="memberAccess"><!-- --></A><H3>
memberAccess</H3>
<PRE>
protected ognl.MemberAccess <B>memberAccess</B></PRE>
<DL>
<DD>The OGNL member access handler.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="resourceService"><!-- --></A><H3>
resourceService</H3>
<PRE>
protected <A HREF="../../../org/apache/click/service/ResourceService.html" title="interface in org.apache.click.service">ResourceService</A> <B>resourceService</B></PRE>
<DL>
<DD>The application resource service.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="typeConverter"><!-- --></A><H3>
typeConverter</H3>
<PRE>
protected ognl.TypeConverter <B>typeConverter</B></PRE>
<DL>
<DD>The request parameters OGNL type converter.
<P>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ClickServlet()"><!-- --></A><H3>
ClickServlet</H3>
<PRE>
public <B>ClickServlet</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="init()"><!-- --></A><H3>
init</H3>
<PRE>
public void <B>init</B>()
throws <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></PRE>
<DL>
<DD>Initialize the Click servlet and the Velocity runtime.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#init()" title="class or interface in javax.servlet">init</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html" title="class or interface in javax.servlet">GenericServlet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE> - if the application configuration service could
not be initialized<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#init()" title="class or interface in javax.servlet"><CODE>GenericServlet.init()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="destroy()"><!-- --></A><H3>
destroy</H3>
<PRE>
public void <B>destroy</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/Servlet.html#destroy()" title="class or interface in javax.servlet">destroy</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/Servlet.html" title="class or interface in javax.servlet">Servlet</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#destroy()" title="class or interface in javax.servlet">destroy</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html" title="class or interface in javax.servlet">GenericServlet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/GenericServlet.html#destroy()" title="class or interface in javax.servlet"><CODE>GenericServlet.destroy()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
doGet</H3>
<PRE>
protected void <B>doGet</B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)
throws <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A>,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Handle HTTP GET requests. This method will delegate the request to
<A HREF="../../../org/apache/click/ClickServlet.html#handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)"><CODE>handleRequest(HttpServletRequest, HttpServletResponse, boolean)</CODE></A>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doGet</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">HttpServlet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the servlet request<DD><CODE>response</CODE> - the servlet response
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE> - if click app has not been initialized
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http"><CODE>HttpServlet.doGet(HttpServletRequest, HttpServletResponse)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
doPost</H3>
<PRE>
protected void <B>doPost</B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)
throws <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A>,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Handle HTTP POST requests. This method will delegate the request to
<A HREF="../../../org/apache/click/ClickServlet.html#handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)"><CODE>handleRequest(HttpServletRequest, HttpServletResponse, boolean)</CODE></A>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doPost</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">HttpServlet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the servlet request<DD><CODE>response</CODE> - the servlet response
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE> - if click app has not been initialized
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http"><CODE>HttpServlet.doPost(HttpServletRequest, HttpServletResponse)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)"><!-- --></A><H3>
handleRequest</H3>
<PRE>
protected void <B>handleRequest</B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
boolean&nbsp;isPost)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Handle the given servlet request and render the results to the
servlet response.
<p/>
If an exception occurs within this method the exception will be delegated
to:
<p/>
<A HREF="../../../org/apache/click/ClickServlet.html#handleException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean, java.lang.Throwable, java.lang.Class)"><CODE>handleException(HttpServletRequest, HttpServletResponse, boolean, Throwable, Class)</CODE></A>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the servlet request to process<DD><CODE>response</CODE> - the servlet response to render the results to<DD><CODE>isPost</CODE> - determines whether the request is a POST
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if resource request could not be served</DL>
</DD>
</DL>
<HR>
<A NAME="handleException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean, java.lang.Throwable, java.lang.Class)"><!-- --></A><H3>
handleException</H3>
<PRE>
protected void <B>handleException</B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
boolean&nbsp;isPost,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A>&nbsp;exception,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass)</PRE>
<DL>
<DD>Provides the application exception handler. The application exception
will be delegated to the configured error page. The default error page is
<A HREF="../../../org/apache/click/util/ErrorPage.html" title="class in org.apache.click.util"><CODE>ErrorPage</CODE></A> and the page template is "click/error.htm" <p/>
Applications which wish to provide their own customized error handling
must subclass ErrorPage and specify their page in the
"/WEB-INF/click.xml" application configuration file. For example:
<pre class="codeConfig">
&lt;page path=&quot;<span class="navy">click/error.htm</span>&quot; classname=&quot;<span class="maroon">com.mycorp.util.ErrorPage</span>&quot;/&gt;
</pre>
If the ErrorPage throws an exception, it will be logged as an error and
then be rethrown nested inside a RuntimeException.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the servlet request with the associated error<DD><CODE>response</CODE> - the servlet response<DD><CODE>isPost</CODE> - boolean flag denoting the request method is "POST"<DD><CODE>exception</CODE> - the error causing exception<DD><CODE>pageClass</CODE> - the page class with the error</DL>
</DD>
</DL>
<HR>
<A NAME="processPage(org.apache.click.Page)"><!-- --></A><H3>
processPage</H3>
<PRE>
protected void <B>processPage</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Process the given page invoking its "on" event callback methods
and directing the response.
<p/>
This method does not invoke the "onDestroy()" callback method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the Page to process
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs<DT><B>See Also:</B><DD><A HREF="../../../org/apache/click/ClickServlet.html#processPageEvents(org.apache.click.Page, org.apache.click.Context)"><CODE>processPageEvents(org.apache.click.Page, org.apache.click.Context)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="processPageEvents(org.apache.click.Page, org.apache.click.Context)"><!-- --></A><H3>
processPageEvents</H3>
<PRE>
protected void <B>processPageEvents</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Process the given page events, invoking the "on" event callback methods
and directing the response.
<p/>
This method does not invoke the "onDestroy()" callback method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the Page which events to process<DD><CODE>context</CODE> - the request context
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs</DL>
</DD>
</DL>
<HR>
<A NAME="performOnSecurityCheck(org.apache.click.Page, org.apache.click.Context)"><!-- --></A><H3>
performOnSecurityCheck</H3>
<PRE>
protected boolean <B>performOnSecurityCheck</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Perform the onSecurityCheck event callback for the specified page,
returning true if processing should continue, false otherwise.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page to perform the security check on<DD><CODE>context</CODE> - the request context
<DT><B>Returns:</B><DD>true if processing should continue, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="performPageAction(org.apache.click.Page, java.lang.String, org.apache.click.Context)"><!-- --></A><H3>
performPageAction</H3>
<PRE>
protected <A HREF="../../../org/apache/click/ActionResult.html" title="class in org.apache.click">ActionResult</A> <B>performPageAction</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;pageAction,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Perform the page action for the given page and return the action result.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page which action to perform<DD><CODE>pageAction</CODE> - the name of the page action<DD><CODE>context</CODE> - the request context
<DT><B>Returns:</B><DD>the page action ActionResult instance</DL>
</DD>
</DL>
<HR>
<A NAME="performOnInit(org.apache.click.Page, org.apache.click.Context)"><!-- --></A><H3>
performOnInit</H3>
<PRE>
protected void <B>performOnInit</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Perform the onInit event callback for the specified page.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page to initialize<DD><CODE>context</CODE> - the request context</DL>
</DD>
</DL>
<HR>
<A NAME="performOnProcess(org.apache.click.Page, org.apache.click.Context, org.apache.click.ActionEventDispatcher)"><!-- --></A><H3>
performOnProcess</H3>
<PRE>
protected boolean <B>performOnProcess</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context,
<A HREF="../../../org/apache/click/ActionEventDispatcher.html" title="class in org.apache.click">ActionEventDispatcher</A>&nbsp;eventDispatcher)</PRE>
<DL>
<DD>Perform onProcess event callback for the specified page, returning true
if processing should continue, false otherwise.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page to process<DD><CODE>context</CODE> - the request context<DD><CODE>eventDispatcher</CODE> - the action event dispatcher
<DT><B>Returns:</B><DD>true if processing should continue, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="performOnPostOrGet(org.apache.click.Page, org.apache.click.Context, boolean)"><!-- --></A><H3>
performOnPostOrGet</H3>
<PRE>
protected void <B>performOnPostOrGet</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context,
boolean&nbsp;isPost)</PRE>
<DL>
<DD>Perform onPost or onGet event callback for the specified page.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page for which the onGet or onPost is performed<DD><CODE>context</CODE> - the request context<DD><CODE>isPost</CODE> - specifies whether the request is a post or a get</DL>
</DD>
</DL>
<HR>
<A NAME="performOnRender(org.apache.click.Page, org.apache.click.Context)"><!-- --></A><H3>
performOnRender</H3>
<PRE>
protected void <B>performOnRender</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Perform onRender event callback for the specified page.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - page to render<DD><CODE>context</CODE> - the request context</DL>
</DD>
</DL>
<HR>
<A NAME="performRender(org.apache.click.Page, org.apache.click.Context)"><!-- --></A><H3>
performRender</H3>
<PRE>
protected void <B>performRender</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Performs rendering of the specified page.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - page to render<DD><CODE>context</CODE> - the request context
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if error occurs</DL>
</DD>
</DL>
<HR>
<A NAME="performRender(org.apache.click.Page, org.apache.click.Context, org.apache.click.ActionResult)"><!-- --></A><H3>
performRender</H3>
<PRE>
protected void <B>performRender</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context,
<A HREF="../../../org/apache/click/ActionResult.html" title="class in org.apache.click">ActionResult</A>&nbsp;actionResult)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Performs rendering of the specified page.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - page to render<DD><CODE>context</CODE> - the request context<DD><CODE>actionResult</CODE> - the action result
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if error occurs</DL>
</DD>
</DL>
<HR>
<A NAME="renderTemplate(org.apache.click.Page)"><!-- --></A><H3>
renderTemplate</H3>
<PRE>
protected void <B>renderTemplate</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Render the Velocity template defined by the page's path.
<p/>
This method creates a Velocity Context using the Page's model Map and
then merges the template with the Context writing the result to the
HTTP servlet response.
<p/>
This method was adapted from org.apache.velocity.servlet.VelocityServlet.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page template to merge
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs</DL>
</DD>
</DL>
<HR>
<A NAME="renderJSP(org.apache.click.Page)"><!-- --></A><H3>
renderJSP</H3>
<PRE>
protected void <B>renderJSP</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Render the given page as a JSP to the response.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page to render
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs rendering the JSP</DL>
</DD>
</DL>
<HR>
<A NAME="renderActionResult(org.apache.click.ActionResult, org.apache.click.Page, org.apache.click.Context)"><!-- --></A><H3>
renderActionResult</H3>
<PRE>
protected void <B>renderActionResult</B>(<A HREF="../../../org/apache/click/ActionResult.html" title="class in org.apache.click">ActionResult</A>&nbsp;actionResult,
<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Render the given ActionResult. If the action result is null, nothing is
rendered.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>actionResult</CODE> - the action result to render<DD><CODE>page</CODE> - the requested page<DD><CODE>context</CODE> - the request context</DL>
</DD>
</DL>
<HR>
<A NAME="createPage(org.apache.click.Context)"><!-- --></A><H3>
createPage</H3>
<PRE>
protected <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A> <B>createPage</B>(<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Return a new Page instance for the given request context. This method will
invoke <A HREF="../../../org/apache/click/ClickServlet.html#initPage(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)"><CODE>initPage(String, Class, HttpServletRequest)</CODE></A> to create
the Page instance and then set the properties on the page.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the page request context
<DT><B>Returns:</B><DD>a new Page instance for the given request, or null if an
PageInterceptor has aborted page creation</DL>
</DD>
</DL>
<HR>
<A NAME="processPageOnDestroy(org.apache.click.Page, long)"><!-- --></A><H3>
processPageOnDestroy</H3>
<PRE>
protected void <B>processPageOnDestroy</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
long&nbsp;startTime)</PRE>
<DL>
<DD>Process the given pages controls <tt>onDestroy</tt> methods, reset the pages
navigation state and process the pages <tt>onDestroy</tt> method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page to process<DD><CODE>startTime</CODE> - the start time to log if greater than 0 and not in
production mode</DL>
</DD>
</DL>
<HR>
<A NAME="initPage(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)"><!-- --></A><H3>
initPage</H3>
<PRE>
protected <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A> <B>initPage</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</PRE>
<DL>
<DD>Initialize a new page instance using
<A HREF="../../../org/apache/click/ClickServlet.html#newPageInstance(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)"><CODE>newPageInstance(String, Class, HttpServletRequest)</CODE></A> method and
setting format, headers and the forward if a JSP.
<p/>
This method will also automatically register any public Page controls
in the page's model. When the page is created any public visible
page Control variables will be automatically added to the page using
the method <A HREF="../../../org/apache/click/Page.html#addControl(org.apache.click.Control)"><CODE>Page.addControl(Control)</CODE></A> method. If the controls name
is not defined it is set to the member variables name before it is added
to the page.
<p/>
This feature saves you from having to manually add the controls yourself.
If you don't want the controls automatically added, simply declare them
as non public variables.
<p/>
An example auto control registration is provided below. In this example
the Table control is automatically added to the model using the name
<tt>"table"</tt>, and the ActionLink controls are added using the names
<tt>"editDetailsLink"</tt> and <tt>"viewDetailsLink"</tt>.
<pre class="codeJava">
<span class="kw">public class</span> OrderDetailsPage <span class="kw">extends</span> Page {
<span class="kw">public</span> Table table = <span class="kw">new</span> Table();
<span class="kw">public</span> ActionLink editDetailsLink = <span class="kw">new</span> ActionLink();
<span class="kw">public</span>ActionLink viewDetailsLink = <span class="kw">new</span> ActionLink();
<span class="kw">public</span> OrderDetailsPage() {
..
}
} </pre>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>path</CODE> - the page path<DD><CODE>pageClass</CODE> - the page class<DD><CODE>request</CODE> - the page request
<DT><B>Returns:</B><DD>initialized page</DL>
</DD>
</DL>
<HR>
<A NAME="processPageRequestParams(org.apache.click.Page)"><!-- --></A><H3>
processPageRequestParams</H3>
<PRE>
protected void <B>processPageRequestParams</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)
throws ognl.OgnlException</PRE>
<DL>
<DD>Process the page binding any request parameters to any public Page
fields with the same name which are "primitive" types. These types
include string, numbers and booleans.
<p/>
Type conversion is performed using the <tt>TypeConverter</tt>
returned by the <A HREF="../../../org/apache/click/ClickServlet.html#getTypeConverter()"><CODE>getTypeConverter()</CODE></A> method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page whose fields are to be processed
<DT><B>Throws:</B>
<DD><CODE>ognl.OgnlException</CODE> - if an error occurs</DL>
</DD>
</DL>
<HR>
<A NAME="newPageInstance(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)"><!-- --></A><H3>
newPageInstance</H3>
<PRE>
protected <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A> <B>newPageInstance</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Return a new Page instance for the given page path, class and request.
<p/>
The default implementation of this method simply creates new page
instances:
<pre class="codeJava">
<span class="kw">protected</span> Page newPageInstance(String path, Class pageClass,
HttpServletRequest request) <span class="kw">throws</span> Exception {
<span class="kw">return</span> (Page) pageClass.newInstance();
} </pre>
This method is designed to be overridden by applications providing their
own page creation patterns.
<p/>
A typical example of this would be with Inversion of Control (IoC)
frameworks such as Spring or HiveMind. For example a Spring application
could override this method and use a <tt>ApplicationContext</tt> to instantiate
new Page objects:
<pre class="codeJava">
<span class="kw">protected</span> Page newPageInstance(String path, Class pageClass,
HttpServletRequest request) <span class="kw">throws</span> Exception {
String beanName = path.substring(0, path.indexOf(<span class="st">"."</span>));
<span class="kw">if</span> (applicationContext.containsBean(beanName)) {
Page page = (Page) applicationContext.getBean(beanName);
} <span class="kw">else</span> {
page = (Page) pageClass.newInstance();
}
<span class="kw">return</span> page;
} </pre>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>path</CODE> - the request page path<DD><CODE>pageClass</CODE> - the page Class the request is mapped to<DD><CODE>request</CODE> - the page request
<DT><B>Returns:</B><DD>a new Page object
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs creating the Page</DL>
</DD>
</DL>
<HR>
<A NAME="activatePageInstance(org.apache.click.Page)"><!-- --></A><H3>
activatePageInstance</H3>
<PRE>
protected void <B>activatePageInstance</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</PRE>
<DL>
<DD>Provides an extension point for ClickServlet sub classes to activate
stateful page which may have been deserialized.
<p/>
This method does nothing and is designed for extension.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page instance to activate</DL>
</DD>
</DL>
<HR>
<A NAME="createTemplateModel(org.apache.click.Page)"><!-- --></A><H3>
createTemplateModel</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&gt; <B>createTemplateModel</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</PRE>
<DL>
<DD>Return a new VelocityContext for the given pages model and Context.
<p/>
The following values automatically added to the VelocityContext:
<ul>
<li>any public Page fields using the fields name</li>
<li>context - the Servlet context path, e.g. /mycorp</li>
<li>format - the <A HREF="../../../org/apache/click/util/Format.html" title="class in org.apache.click.util"><CODE>Format</CODE></A> object for formatting
the display of objects</li>
<li>imports - the <A HREF="../../../org/apache/click/util/PageImports.html" title="class in org.apache.click.util"><CODE>PageImports</CODE></A> object</li>
<li>messages - the page messages bundle</li>
<li>path - the page of the page template to render</li>
<li>request - the pages servlet request</li>
<li>response - the pages servlet request</li>
<li>session - the <A HREF="../../../org/apache/click/util/SessionMap.html" title="class in org.apache.click.util"><CODE>SessionMap</CODE></A> adaptor for the
users HttpSession</li>
</ul>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page to create a VelocityContext for
<DT><B>Returns:</B><DD>a new VelocityContext<DT><B>See Also:</B><DD><A HREF="../../../org/apache/click/util/ClickUtils.html#createTemplateModel(org.apache.click.Page, org.apache.click.Context)"><CODE>ClickUtils.createTemplateModel(org.apache.click.Page, org.apache.click.Context)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setPageResponseHeaders(javax.servlet.http.HttpServletResponse, java.util.Map)"><!-- --></A><H3>
setPageResponseHeaders</H3>
<PRE>
protected void <B>setPageResponseHeaders</B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&gt;&nbsp;headers)</PRE>
<DL>
<DD>Set the HTTP headers in the servlet response. The Page response headers
are defined in <A HREF="../../../org/apache/click/Page.html#getHeaders()"><CODE>Page.getHeaders()</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>response</CODE> - the response to set the headers in<DD><CODE>headers</CODE> - the map of HTTP headers to set in the response</DL>
</DD>
</DL>
<HR>
<A NAME="setRequestAttributes(org.apache.click.Page)"><!-- --></A><H3>
setRequestAttributes</H3>
<PRE>
protected void <B>setRequestAttributes</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</PRE>
<DL>
<DD>Set the page model, context, format, messages and path as request
attributes to support JSP rendering. These request attributes include:
<ul>
<li>any public Page fields using the fields name</li>
<li>context - the Servlet context path, e.g. /mycorp</li>
<li>format - the <A HREF="../../../org/apache/click/util/Format.html" title="class in org.apache.click.util"><CODE>Format</CODE></A> object for
formatting the display of objects</li>
<li>forward - the page forward path, if defined</li>
<li>imports - the <A HREF="../../../org/apache/click/util/PageImports.html" title="class in org.apache.click.util"><CODE>PageImports</CODE></A> object</li>
<li>messages - the page messages bundle</li>
<li>path - the page of the page template to render</li>
</ul>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page to set the request attributes on</DL>
</DD>
</DL>
<HR>
<A NAME="getTypeConverter()"><!-- --></A><H3>
getTypeConverter</H3>
<PRE>
protected ognl.TypeConverter <B>getTypeConverter</B>()
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A></PRE>
<DL>
<DD>Return the request parameters OGNL <tt>TypeConverter</tt>. This method
performs a lazy load of the TypeConverter object, using the classname
defined in the Servlet init parameter <tt>type-converter-class</tt>,
if this parameter is not defined this method will return a
<A HREF="../../../org/apache/click/util/RequestTypeConverter.html" title="class in org.apache.click.util"><CODE>RequestTypeConverter</CODE></A> instance.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the request parameters OGNL <tt>TypeConverter</tt>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A></CODE> - if the TypeConverter instance could not be created</DL>
</DD>
</DL>
<HR>
<A NAME="createContext(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)"><!-- --></A><H3>
createContext</H3>
<PRE>
protected <A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A> <B>createContext</B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
boolean&nbsp;isPost)</PRE>
<DL>
<DD>Creates and returns a new Context instance for this path, class and
request.
<p/>
The default implementation of this method simply creates a new Context
instance.
<p/>
Subclasses can override this method to provide a custom Context.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the page request<DD><CODE>response</CODE> - the page response<DD><CODE>isPost</CODE> - true if this is a post request, false otherwise
<DT><B>Returns:</B><DD>a Context instance</DL>
</DD>
</DL>
<HR>
<A NAME="createActionEventDispatcher()"><!-- --></A><H3>
createActionEventDispatcher</H3>
<PRE>
protected <A HREF="../../../org/apache/click/ActionEventDispatcher.html" title="class in org.apache.click">ActionEventDispatcher</A> <B>createActionEventDispatcher</B>()</PRE>
<DL>
<DD>Creates and returns a new ActionEventDispatcher instance.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the new ActionEventDispatcher instance</DL>
</DD>
</DL>
<HR>
<A NAME="createControlRegistry()"><!-- --></A><H3>
createControlRegistry</H3>
<PRE>
protected <A HREF="../../../org/apache/click/ControlRegistry.html" title="class in org.apache.click">ControlRegistry</A> <B>createControlRegistry</B>()</PRE>
<DL>
<DD>Creates and returns a new ControlRegistry instance.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the new ControlRegistry instance</DL>
</DD>
</DL>
<HR>
<A NAME="createErrorPage(java.lang.Class, java.lang.Throwable)"><!-- --></A><H3>
createErrorPage</H3>
<PRE>
protected <A HREF="../../../org/apache/click/util/ErrorPage.html" title="class in org.apache.click.util">ErrorPage</A> <B>createErrorPage</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A>&nbsp;exception)</PRE>
<DL>
<DD>Creates and returns a new ErrorPage instance.
<p/>
This method creates the custom page as specified in <tt>click.xml</tt>,
otherwise the default ErrorPage instance.
<p/>
Subclasses can override this method to provide custom ErrorPages tailored
for specific exceptions.
<p/>
<b>Note</b> you can safely use <A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click"><CODE>Context</CODE></A> in this
method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pageClass</CODE> - the page class with the error<DD><CODE>exception</CODE> - the error causing exception
<DT><B>Returns:</B><DD>a new ErrorPage instance</DL>
</DD>
</DL>
<HR>
<A NAME="getConfigService()"><!-- --></A><H3>
getConfigService</H3>
<PRE>
protected <A HREF="../../../org/apache/click/service/ConfigService.html" title="interface in org.apache.click.service">ConfigService</A> <B>getConfigService</B>()</PRE>
<DL>
<DD>Return the application configuration service instance.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the application configuration service instance</DL>
</DD>
</DL>
<HR>
<A NAME="createPage(java.lang.String, javax.servlet.http.HttpServletRequest)"><!-- --></A><H3>
createPage</H3>
<PRE>
protected &lt;T extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt; T <B>createPage</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;path,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</PRE>
<DL>
<DD>Return a new Page instance for the given path. The path must start with
a <tt>"/"</tt>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>path</CODE> - the path which maps to a Page class<DD><CODE>request</CODE> - the Page request
<DT><B>Returns:</B><DD>a new Page object
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the Page is not found</DL>
</DD>
</DL>
<HR>
<A NAME="createPage(java.lang.Class, javax.servlet.http.HttpServletRequest)"><!-- --></A><H3>
createPage</H3>
<PRE>
protected &lt;T extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt; T <B>createPage</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;T&gt;&nbsp;pageClass,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</PRE>
<DL>
<DD>Return a new Page instance for the page Class.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pageClass</CODE> - the class of the Page to create<DD><CODE>request</CODE> - the Page request
<DT><B>Returns:</B><DD>a new Page object
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the Page Class is not configured
with a unique path</DL>
</DD>
</DL>
<HR>
<A NAME="createPageImports(org.apache.click.Page)"><!-- --></A><H3>
createPageImports</H3>
<PRE>
protected <A HREF="../../../org/apache/click/util/PageImports.html" title="class in org.apache.click.util">PageImports</A> <B>createPageImports</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page)</PRE>
<DL>
<DD>Creates and returns a new PageImports instance for the specified page.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page to create a new PageImports instance for
<DT><B>Returns:</B><DD>the new PageImports instance</DL>
</DD>
</DL>
<HR>
<A NAME="processAjaxPageEvents(org.apache.click.Page, org.apache.click.Context)"><!-- --></A><H3>
processAjaxPageEvents</H3>
<PRE>
protected void <B>processAjaxPageEvents</B>(<A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Process the given page events, invoking the "on" event callback methods
and directing the response.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page which events to process<DD><CODE>context</CODE> - the request context
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs</DL>
</DD>
</DL>
<HR>
<A NAME="processAjaxTargetControls(org.apache.click.Context, org.apache.click.ActionEventDispatcher, org.apache.click.ControlRegistry)"><!-- --></A><H3>
processAjaxTargetControls</H3>
<PRE>
protected boolean <B>processAjaxTargetControls</B>(<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context,
<A HREF="../../../org/apache/click/ActionEventDispatcher.html" title="class in org.apache.click">ActionEventDispatcher</A>&nbsp;eventDispatcher,
<A HREF="../../../org/apache/click/ControlRegistry.html" title="class in org.apache.click">ControlRegistry</A>&nbsp;controlRegistry)</PRE>
<DL>
<DD>Process all Ajax target controls and return true if the page should continue
processing, false otherwise.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the request context<DD><CODE>eventDispatcher</CODE> - the event dispatcher<DD><CODE>controlRegistry</CODE> - the control registry
<DT><B>Returns:</B><DD>true if the page should continue processing, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="handleAjaxException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean, java.lang.Throwable, java.lang.Class)"><!-- --></A><H3>
handleAjaxException</H3>
<PRE>
protected void <B>handleAjaxException</B>(<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
boolean&nbsp;isPost,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A>&nbsp;exception,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass)</PRE>
<DL>
<DD>Provides an Ajax exception handler. Exceptions are wrapped inside a
<tt>div</tt> element and streamed back to the browser. The response status
is set to an <A HREF="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html#SC_INTERNAL_SERVER_ERROR" title="class or interface in javax.servlet.http"><CODE>HTTP 500 error</CODE></A>
which allows the JavaScript that initiated the Ajax request to handle
the error as appropriate.
<p/>
If Click is running in <tt>development</tt> modes the exception stackTrace
will be rendered, in <tt>production</tt> modes an error message is
rendered.
<p/>
Below is an example error response:
<pre class="prettyprint">
&lt;div id='errorReport' class='errorReport'&gt;
The application encountered an unexpected error.
&lt;/div&gt;
</pre>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the servlet request<DD><CODE>response</CODE> - the servlet response<DD><CODE>isPost</CODE> - determines whether the request is a POST<DD><CODE>exception</CODE> - the error causing exception<DD><CODE>pageClass</CODE> - the page class with the error</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/apache/click/Behavior.html" title="interface in org.apache.click"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/click/Context.html" title="class in org.apache.click"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/apache/click/ClickServlet.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ClickServlet.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<style type='text/css'>.str{color:#2A00FF;}.kwd{color:#7F0055;font-weight:bold;}.com{color:#3F7F5F;}.typ{color:#000;}.lit{color:#066;}.pun{color:#660;}.pln{color:#000;}.tag{color:#000099;font-weight:bold;}.atn{color:#009900;}.atv{color:#000;}.dec{color:#606;}pre.prettyprint{padding:1em;border:1px solid #888;overflow:auto;}@media print{.str{color:#2A00FF;}.kwd{color:#7F0055;font-weight:bold;}.com{color:#3F7F5F;font-style:italic;}.typ{color:#000;font-weight:bold;}.lit{color:#044;}.pun{color:#440;}.pln{color:#000;}.tag{color:#000099;font-weight:bold;}.atn{color:#009900;}.atv{color:#000;}}</style><script type='text/javascript'>var PR_keywords={};(function(){var CPP_KEYWORDS='abstract bool break case catch char class const '+'const_cast continue default delete deprecated dllexport dllimport do '+'double dynamic_cast else enum explicit extern false float for friend '+'goto if inline int long mutable naked namespace new noinline noreturn '+'nothrow novtable operator private property protected public register '+'reinterpret_cast return selectany short signed sizeof static '+'static_cast struct switch template this thread throw true try typedef '+'typeid typename union unsigned using declaration, directive uuid '+'virtual void volatile while typeof';var CSHARP_KEYWORDS='as base by byte checked decimal delegate descending '+'event finally fixed foreach from group implicit in interface internal '+'into is lock null object override orderby params readonly ref sbyte '+'sealed stackalloc string select uint ulong unchecked unsafe ushort var';var JAVA_KEYWORDS='package synchronized boolean implements import throws '+'instanceof transient extends final strictfp native super';var JSCRIPT_KEYWORDS='debugger export function with NaN Infinity';var PERL_KEYWORDS='require sub unless until use elsif BEGIN END';var PYTHON_KEYWORDS='and assert def del elif except exec global lambda '+'not or pass print raise yield False True None';var RUBY_KEYWORDS='then end begin rescue ensure module when undef next '+'redo retry alias defined';var SH_KEYWORDS='done fi';var KEYWORDS=[CPP_KEYWORDS,CSHARP_KEYWORDS,JAVA_KEYWORDS,JSCRIPT_KEYWORDS,PERL_KEYWORDS,PYTHON_KEYWORDS,RUBY_KEYWORDS,SH_KEYWORDS];for(var k=0;k<KEYWORDS.length;k++){var kw=KEYWORDS[k].split(' ');for(var i=0;i<kw.length;i++){if(kw[i]){PR_keywords[kw[i]]=true;}}}}).call(this);var PR_STRING='str';var PR_KEYWORD='kwd';var PR_COMMENT='com';var PR_TYPE='typ';var PR_LITERAL='lit';var PR_PUNCTUATION='pun';var PR_PLAIN='pln';var PR_TAG='tag';var PR_DECLARATION='dec';var PR_SOURCE='src';var PR_ATTRIB_NAME='atn';var PR_ATTRIB_VALUE='atv';var PR_TAB_WIDTH=8;function PR_isWordChar(ch){return(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z');}function PR_spliceArrayInto(inserted,container,containerPosition,countReplaced){inserted.unshift(containerPosition,countReplaced||0);try{container.splice.apply(container,inserted);}finally{inserted.splice(0,2);}}var REGEXP_PRECEDER_PATTERN=(function(){var preceders=['!','!=','!==','#','%','%=','&','&&','&&=','&=','(','*','*=','+=',',','-=','->','/','/=',':','::',';','<','<<','<<=','<=','=','==','===','>','>=','>>','>>=','>>>','>>>=','?','@','[','^','^=','^^','^^=','{','|','|=','||','||=','~','break','case','continue','delete','do','else','finally','instanceof','return','throw','try','typeof'];var pattern='(?:'+'(?:(?:^|[^0-9\.])\\.{1,3})|'+'(?:(?:^|[^\\+])\\+)|'+'(?:(?:^|[^\\-])-)';for(var i=0;i<preceders.length;++i){var preceder=preceders[i];if(PR_isWordChar(preceder.charAt(0))){pattern+='|\\b'+preceder;}else{pattern+='|'+preceder.replace(/([^=<>:&])/g,'\\$1');}}pattern+='|^)\\s*$';return new RegExp(pattern);})();var pr_amp=/&/g;var pr_lt=/</g;var pr_gt=/>/g;var pr_quot=/"/g;function PR_attribToHtml(str){return str.replace(pr_amp,'&amp;').replace(pr_lt,'&lt;').replace(pr_gt,'&gt;').replace(pr_quot,'&quot;');}function PR_textToHtml(str){return str.replace(pr_amp,'&amp;').replace(pr_lt,'&lt;').replace(pr_gt,'&gt;');}var pr_ltEnt=/&lt;/g;var pr_gtEnt=/&gt;/g;var pr_aposEnt=/&apos;/g;var pr_quotEnt=/&quot;/g;var pr_ampEnt=/&amp;/g;function PR_htmlToText(html){var pos=html.indexOf('&');if(pos<0){return html;}for(--pos;(pos=html.indexOf('&#',pos+1))>=0;){var end=html.indexOf(';',pos);if(end>=0){var num=html.substring(pos+3,end);var radix=10;if(num&&num.charAt(0)=='x'){num=num.substring(1);radix=16;}var codePoint=parseInt(num,radix);if(!isNaN(codePoint)){html=(html.substring(0,pos)+String.fromCharCode(codePoint)+html.substring(end+1));}}}return html.replace(pr_ltEnt,'<').replace(pr_gtEnt,'>').replace(pr_aposEnt,"'").replace(pr_quotEnt,'"').replace(pr_ampEnt,'&');}function PR_isRawContent(node){return'XMP'==node.tagName;}var PR_innerHtmlWorks=null;function PR_getInnerHtml(node){if(null===PR_innerHtmlWorks){var testNode=document.createElement('PRE');testNode.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));PR_innerHtmlWorks=!/</.test(testNode.innerHTML);}if(PR_innerHtmlWorks){var content=node.innerHTML;if(PR_isRawContent(node)){content=PR_textToHtml(content);}return content;}var out=[];for(var child=node.firstChild;child;child=child.nextSibling){PR_normalizedHtml(child,out);}return out.join('');}function PR_normalizedHtml(node,out){switch(node.nodeType){case 1:var name=node.tagName.toLowerCase();out.push('\074',name);for(var i=0;i<node.attributes.length;++i){var attr=node.attributes[i];if(!attr.specified){continue;}out.push(' ');PR_normalizedHtml(attr,out);}out.push('>');for(var child=node.firstChild;child;child=child.nextSibling){PR_normalizedHtml(child,out);}if(node.firstChild||!/^(?:br|link|img)$/.test(name)){out.push('<\/',name,'>');}break;case 2:out.push(node.name.toLowerCase(),'="',PR_attribToHtml(node.value),'"');break;case 3:case 4:out.push(PR_textToHtml(node.nodeValue));break;}}function PR_tabExpander(tabWidth){var SPACES=' ';var charInLine=0;return function(plainText){var out=null;var pos=0;for(var i=0,n=plainText.length;i<n;++i){var ch=plainText.charAt(i);switch(ch){case'\t':if(!out){out=[];}out.push(plainText.substring(pos,i));var nSpaces=tabWidth-(charInLine%tabWidth);charInLine+=nSpaces;for(;nSpaces>=0;nSpaces-=SPACES.length){out.push(SPACES.substring(0,nSpaces));}pos=i+1;break;case'\n':charInLine=0;break;default:++charInLine;}}if(!out){return plainText;}out.push(plainText.substring(pos));return out.join('');};}var pr_chunkPattern=/(?:[^<]+|<!--[\s\S]*?-->|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g;var pr_commentPrefix=/^<!--/;var pr_cdataPrefix=/^<\[CDATA\[/;var pr_brPrefix=/^<br\b/i;function PR_extractTags(s){var matches=s.match(pr_chunkPattern);var sourceBuf=[];var sourceBufLen=0;var extractedTags=[];if(matches){for(var i=0,n=matches.length;i<n;++i){var match=matches[i];if(match.length>1&&match.charAt(0)==='<'){if(pr_commentPrefix.test(match)){continue;}if(pr_cdataPrefix.test(match)){sourceBuf.push(match.substring(9,match.length-3));sourceBufLen+=match.length-12;}else if(pr_brPrefix.test(match)){sourceBuf.push('\n');sourceBufLen+=1;}else{extractedTags.push(sourceBufLen,match);}}else{var literalText=PR_htmlToText(match);sourceBuf.push(literalText);sourceBufLen+=literalText.length;}}}return{source:sourceBuf.join(''),tags:extractedTags};}function PR_createSimpleLexer(shortcutStylePatterns,fallthroughStylePatterns){var shortcuts={};(function(){var allPatterns=shortcutStylePatterns.concat(fallthroughStylePatterns);for(var i=allPatterns.length;--i>=0;){var patternParts=allPatterns[i];var shortcutChars=patternParts[3];if(shortcutChars){for(var c=shortcutChars.length;--c>=0;){shortcuts[shortcutChars.charAt(c)]=patternParts;}}}})();var nPatterns=fallthroughStylePatterns.length;return function(sourceCode,opt_basePos){opt_basePos=opt_basePos||0;var decorations=[opt_basePos,PR_PLAIN];var lastToken='';var pos=0;var tail=sourceCode;while(tail.length){var style;var token=null;var patternParts=shortcuts[tail.charAt(0)];if(patternParts){var match=tail.match(patternParts[1]);token=match[0];style=patternParts[0];}else{for(var i=0;i<nPatterns;++i){patternParts=fallthroughStylePatterns[i];var contextPattern=patternParts[2];if(contextPattern&&!contextPattern.test(lastToken)){continue;}var match=tail.match(patternParts[1]);if(match){token=match[0];style=patternParts[0];break;}}if(!token){style=PR_PLAIN;token=tail.substring(0,1);}}decorations.push(opt_basePos+pos,style);pos+=token.length;tail=tail.substring(token.length);if(style!==PR_COMMENT&&/\S/.test(token)){lastToken=token;}}return decorations;};}var PR_C_STYLE_STRING_AND_COMMENT_LEXER=PR_createSimpleLexer([[PR_STRING,/^\'(?:[^\\\']|\\[\s\S])*(?:\'|$)/,null,"'"],[PR_STRING,/^"(?:[^\\"]|\\[\s\S])*(?:"|$)/,null,'"'],[PR_STRING,/^\`(?:[^\\\`]|\\[\s\S])*(?:\`|$)/,null,'`']],[[PR_PLAIN,/^(?:[^\'"\`\/\#]+)/,null,' \r\n'],[PR_COMMENT,/^#[^\r\n]*/,null,'#'],[PR_COMMENT,/^\/\/[^\r\n]*/,null],[PR_STRING,/^\/(?:[^\\\*\/]|\\[\s\S])+(?:\/|$)/,REGEXP_PRECEDER_PATTERN],[PR_COMMENT,/^\/\*[\s\S]*?(?:\*\/|$)/,null]]);function PR_splitStringAndCommentTokens(sourceCode){return PR_C_STYLE_STRING_AND_COMMENT_LEXER(sourceCode);}var PR_C_STYLE_LITERAL_IDENTIFIER_PUNC_RECOGNIZER=PR_createSimpleLexer([],[[PR_PLAIN,/^\s+/,null,' \r\n'],[PR_PLAIN,/^[a-z_$@][a-z_$@0-9]*/i,null],[PR_LITERAL,/^0x[a-f0-9]+[a-z]/i,null],[PR_LITERAL,/^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?[a-z]*/i,null,'123456789'],[PR_PUNCTUATION,/^[^\s\w\.$@]+/,null]]);function PR_splitNonStringNonCommentTokens(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_PLAIN){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var chunk=source.substring(start,end);var subDecs=PR_C_STYLE_LITERAL_IDENTIFIER_PUNC_RECOGNIZER(chunk,start);for(var j=0,m=subDecs.length;j<m;j+=2){var subStyle=subDecs[j+1];if(subStyle===PR_PLAIN){var subStart=subDecs[j];var subEnd=j+2<m?subDecs[j+2]:chunk.length;var token=source.substring(subStart,subEnd);if(token=='.'){subDecs[j+1]=PR_PUNCTUATION;}else if(token in PR_keywords){subDecs[j+1]=PR_KEYWORD;}else if(/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(token)){subDecs[j+1]=token.charAt(0)=='@'?PR_LITERAL:PR_TYPE;}}}PR_spliceArrayInto(subDecs,decorations,i,2);i+=subDecs.length-2;}}return decorations;}var PR_MARKUP_LEXER=PR_createSimpleLexer([],[[PR_PLAIN,/^[^<]+/,null],[PR_DECLARATION,/^<!\w[^>]*(?:>|$)/,null],[PR_COMMENT,/^<!--[\s\S]*?(?:-->|$)/,null],[PR_SOURCE,/^<\?[\s\S]*?(?:\?>|$)/,null],[PR_SOURCE,/^<%[\s\S]*?(?:%>|$)/,null],[PR_SOURCE,/^<(script|style|xmp)\b[^>]*>[\s\S]*?<\/\1\b[^>]*>/i,null],[PR_TAG,/^<\/?\w[^<>]*>/,null]]);var PR_SOURCE_CHUNK_PARTS=/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/;function PR_tokenizeMarkup(source){var decorations=PR_MARKUP_LEXER(source);for(var i=0;i<decorations.length;i+=2){if(decorations[i+1]===PR_SOURCE){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var sourceChunk=source.substring(start,end);var match=(sourceChunk.match(PR_SOURCE_CHUNK_PARTS));if(match){decorations.splice(i,2,start,PR_TAG,start+match[1].length,PR_SOURCE,start+match[1].length+(match[2]||'').length,PR_TAG);}}}return decorations;}var PR_TAG_LEXER=PR_createSimpleLexer([[PR_ATTRIB_VALUE,/^\'[^\']*(?:\'|$)/,null,"'"],[PR_ATTRIB_VALUE,/^"[^"]*(?:"|$)/,null,'"'],[PR_PUNCTUATION,/^[<>\/=]+/,null,'<>/=']],[[PR_TAG,/^[\w-]+/,/^</],[PR_ATTRIB_VALUE,/^[\w-]+/,/^=/],[PR_ATTRIB_NAME,/^[\w-]+/,null],[PR_PLAIN,/^\s+/,null,' \r\n']]);function PR_splitTagAttributes(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_TAG){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var chunk=source.substring(start,end);var subDecorations=PR_TAG_LEXER(chunk,start);PR_spliceArrayInto(subDecorations,decorations,i,2);i+=subDecorations.length-2;}}return decorations;}function PR_splitSourceNodes(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style==PR_SOURCE){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var subDecorations=PR_decorateSource(source.substring(start,end));for(var j=0,m=subDecorations.length;j<m;j+=2){subDecorations[j]+=start;}PR_spliceArrayInto(subDecorations,decorations,i,2);i+=subDecorations.length-2;}}return decorations;}function PR_splitSourceAttributes(source,decorations){var nextValueIsSource=false;for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_ATTRIB_NAME){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;nextValueIsSource=/^on|^style$/i.test(source.substring(start,end));}else if(style==PR_ATTRIB_VALUE){if(nextValueIsSource){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var attribValue=source.substring(start,end);var attribLen=attribValue.length;var quoted=(attribLen>=2&&/^["\']/.test(attribValue)&&attribValue.charAt(0)===attribValue.charAt(attribLen-1));var attribSource;var attribSourceStart;var attribSourceEnd;if(quoted){attribSourceStart=start+1;attribSourceEnd=end-1;attribSource=attribValue;}else{attribSourceStart=start+1;attribSourceEnd=end-1;attribSource=attribValue.substring(1,attribValue.length-1);}var attribSourceDecorations=PR_decorateSource(attribSource);for(var j=0,m=attribSourceDecorations.length;j<m;j+=2){attribSourceDecorations[j]+=attribSourceStart;}if(quoted){attribSourceDecorations.push(attribSourceEnd,PR_ATTRIB_VALUE);PR_spliceArrayInto(attribSourceDecorations,decorations,i+2,0);}else{PR_spliceArrayInto(attribSourceDecorations,decorations,i,2);}}nextValueIsSource=false;}}return decorations;}function PR_decorateSource(sourceCode){var decorations=PR_splitStringAndCommentTokens(sourceCode);decorations=PR_splitNonStringNonCommentTokens(sourceCode,decorations);return decorations;}function PR_decorateMarkup(sourceCode){var decorations=PR_tokenizeMarkup(sourceCode);decorations=PR_splitTagAttributes(sourceCode,decorations);decorations=PR_splitSourceNodes(sourceCode,decorations);decorations=PR_splitSourceAttributes(sourceCode,decorations);return decorations;}function PR_recombineTagsAndDecorations(sourceText,extractedTags,decorations){var html=[];var outputIdx=0;var openDecoration=null;var currentDecoration=null;var tagPos=0;var decPos=0;var tabExpander=PR_tabExpander(PR_TAB_WIDTH);function emitTextUpTo(sourceIdx){if(sourceIdx>outputIdx){if(openDecoration&&openDecoration!==currentDecoration){html.push('</span>');openDecoration=null;}if(!openDecoration&&currentDecoration){openDecoration=currentDecoration;html.push('<span class="',openDecoration,'">');}var htmlChunk=PR_textToHtml(tabExpander(sourceText.substring(outputIdx,sourceIdx))).replace(/(\r\n?|\n| ) /g,'$1&nbsp;').replace(/\r\n?|\n/g,'&nbsp;<br>');html.push(htmlChunk);outputIdx=sourceIdx;}}while(true){var outputTag;if(tagPos<extractedTags.length){if(decPos<decorations.length){outputTag=extractedTags[tagPos]<=decorations[decPos];}else{outputTag=true;}}else{outputTag=false;}if(outputTag){emitTextUpTo(extractedTags[tagPos]);if(openDecoration){html.push('</span>');openDecoration=null;}html.push(extractedTags[tagPos+1]);tagPos+=2;}else if(decPos<decorations.length){emitTextUpTo(decorations[decPos]);currentDecoration=decorations[decPos+1];decPos+=2;}else{break;}}emitTextUpTo(sourceText.length);if(openDecoration){html.push('</span>');}return html.join('');}function prettyPrintOne(sourceCodeHtml){try{var sourceAndExtractedTags=PR_extractTags(sourceCodeHtml);var source=sourceAndExtractedTags.source;var extractedTags=sourceAndExtractedTags.tags;var isMarkup=/^\s*</.test(source)&&/>\s*$/.test(source);var decorations=isMarkup?PR_decorateMarkup(source):PR_decorateSource(source);return PR_recombineTagsAndDecorations(source,extractedTags,decorations);}catch(e){if('console'in window){console.log(e);console.trace();}return sourceCodeHtml;}}var PR_SHOULD_USE_CONTINUATION=true;function prettyPrint(opt_whenDone){var codeSegments=[document.getElementsByTagName('pre'),document.getElementsByTagName('code'),document.getElementsByTagName('xmp')];var elements=[];for(var i=0;i<codeSegments.length;++i){for(var j=0;j<codeSegments[i].length;++j){elements.push(codeSegments[i][j]);}}codeSegments=null;var k=0;function doWork(){var endTime=(PR_SHOULD_USE_CONTINUATION?new Date().getTime()+250:Infinity);for(;k<elements.length&&new Date().getTime()<endTime;k++){var cs=elements[k];if(cs.className&&cs.className.indexOf('prettyprint')>=0){var nested=false;for(var p=cs.parentNode;p!=null;p=p.parentNode){if((p.tagName=='pre'||p.tagName=='code'||p.tagName=='xmp')&&p.className&&p.className.indexOf('prettyprint')>=0){nested=true;break;}}if(!nested){var content=PR_getInnerHtml(cs);content=content.replace(/(?:\r\n?|\n)$/,'');var newContent=prettyPrintOne(content);if(!PR_isRawContent(cs)){cs.innerHTML=newContent;}else{var pre=document.createElement('PRE');for(var i=0;i<cs.attributes.length;++i){var a=cs.attributes[i];if(a.specified){pre.setAttribute(a.name,a.value);}}pre.innerHTML=newContent;cs.parentNode.replaceChild(pre,cs);}}}}if(k<elements.length){setTimeout(doWork,250);}else if(opt_whenDone){opt_whenDone();}}doWork();}</script><script type='text/javascript'>prettyPrint();</script></BODY>
</HTML>