blob: 1e7f637e93ca40140b2df04a170d9df45a5ec5cb [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Apache Click</title><link rel="stylesheet" href="css/stylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.0"><link rel="home" href="index.html" title="Apache Click"><link rel="next" href="ch01.html" title="Chapter&nbsp;1.&nbsp;Introduction to Apache Click"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Apache Click</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div lang="en" class="book" title="Apache Click"><div class="titlepage"><div><div><h1 class="title"><a name="d0e2"></a>Apache Click</h1></div><div><div class="authorgroup"><h3 class="corpauthor">Apache Click User Guide</h3></div></div><div><div class="mediaobject"><img src="images/click-logo.png"></div></div><div><p class="releaseinfo">V 2.3.0</p></div><div><p class="copyright">Copyright &copy; 2001-2010 The Apache Software Foundation</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Introduction to Apache Click</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#hello-world">1.1. Hello World Example</a></span></dt><dt><span class="sect1"><a href="ch01s02.html">1.2. Control Listener Type 1 Example</a></span></dt><dt><span class="sect1"><a href="ch01s03.html">1.3. Control Listener Type 2 Example</a></span></dt><dt><span class="sect1"><a href="ch01s04.html">1.4. Simple Table Example</a></span></dt><dt><span class="sect1"><a href="ch01s05.html">1.5. Advanced Table Example</a></span></dt><dt><span class="sect1"><a href="ch01s06.html">1.6. Simple Form Example</a></span></dt><dt><span class="sect1"><a href="ch01s07.html">1.7. Advanced Form Example</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch01s07.html#form-layout">1.7.1. Form Layout</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch02.html">2. Pages</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#classes">2.1. Classes</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Execution</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">2.3. Request Parameter Auto Binding</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#customizing-auto-binding">2.3.1. Customizing Auto Binding</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. Security</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#applications-authentication">2.4.1. Application Authentication</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#container-authentication">2.4.2. Container Authentication</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#container-access-control">2.4.3. Container Access Control</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#logging-out">2.4.4. Logging Out</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Page Navigation</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#forward">2.5.1. Forward</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch02s05.html#forward-parameter-passing">2.5.1.1. Forward Parameter Passing</a></span></dt><dt><span class="sect3"><a href="ch02s05.html#page-forwarding">2.5.1.2. Page Forwarding</a></span></dt></dl></dd><dt><span class="sect2"><a href="ch02s05.html#template-path">2.5.2. Template Path</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#redirect">2.5.3. Redirect</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch02s05.html#redirect-parameter-passing">2.5.3.1. Redirect Parameter Passing</a></span></dt><dt><span class="sect3"><a href="ch02s05.html#post-redirect">2.5.3.2. Post Redirect</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Page Templating</a></span></dt><dt><span class="sect1"><a href="ch02s07.html">2.7. Page Actions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#page-action-execution">2.7.1. Page Action Execution</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#page-action-result">2.7.2. ActionResult</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#page-action-example">2.7.3. Page Action Example</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#page-action-accessing-request-parameters">2.7.4. Accessing Request Parameters</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#page-action-set-response-headers">2.7.5. Set response headers and status code</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Direct Rendering</a></span></dt><dt><span class="sect1"><a href="ch02s09.html">2.9. Stateful Pages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#page-creation">2.9.1. Page Creation</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#page-execution">2.9.2. Page Execution</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#page-destruction">2.9.3. Page Destruction</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Error Handling</a></span></dt><dt><span class="sect1"><a href="ch02s11.html">2.11. Page Not Found</a></span></dt><dt><span class="sect1"><a href="ch02s12.html">2.12. Page Message Properties</a></span></dt><dt><span class="sect1"><a href="ch02s13.html">2.13. Page HEAD Elements</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Controls</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#control-interface">3.1. Control Interface</a></span></dt><dt><span class="sect1"><a href="ch03s02.html">3.2. Control Listener</a></span></dt><dt><span class="sect1"><a href="ch03s03.html">3.3. Control Classes</a></span></dt><dt><span class="sect1"><a href="ch03s04.html">3.4. Message Properties</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s04.html#message-resolution">3.4.1. Message Resolution</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#control-properties">3.4.2. Control Properties</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#accessing-messages">3.4.3. Accessing Messages</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s05.html">3.5. Control HEAD Elements</a></span></dt><dt><span class="sect1"><a href="ch03s06.html">3.6. Container</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s06.html#abstractcontainer">3.6.1. AbstractContainer</a></span></dt><dt><span class="sect2"><a href="ch03s06.html#abstractcontainerfield">3.6.2. AbstractContainerField</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s07.html">3.7. Layouts</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s07.html#template-layout">3.7.1. Template layout</a></span></dt><dt><span class="sect2"><a href="ch03s07.html#programmatic-layout">3.7.2. Programmatic layout</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s08.html">3.8. Behavior</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s08.html#behavior-execution">3.8.1. Behavior Execution</a></span></dt><dt><span class="sect2"><a href="ch03s08.html#behavior-example">3.8.2. Behavior Example</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Ajax</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#ajax-overview">4.1. Ajax Overview</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">4.2. AjaxBehavior</a></span></dt><dt><span class="sect1"><a href="ch04s03.html">4.3. AjaxBehavior Execution</a></span></dt><dt><span class="sect1"><a href="ch04s04.html">4.4. First Ajax Example</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#ajax-trace-log">4.4.1. Ajax Trace Log</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#ajax-trace-log-no-target-control">4.4.2. Ajax Trace Log - No Ajax Target Control Found</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#ajax-trace-log-no-target-ajax-behavior">4.4.3. Ajax Trace Log - No Target AjaxBehavior Found</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Ajax Page Action</a></span></dt><dt><span class="sect1"><a href="ch04s06.html">4.6. Ajax Response Types</a></span></dt><dt><span class="sect1"><a href="ch04s07.html">4.7. Ajax Error Handling</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. Configuration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch05.html#servlet-configuration">5.1. Servlet Configuration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05.html#servlet-mapping">5.1.1. Servlet Mapping</a></span></dt><dt><span class="sect2"><a href="ch05.html#load-on-startup">5.1.2. Load On Startup</a></span></dt><dt><span class="sect2"><a href="ch05.html#type-converter-class">5.1.3. Type Converter Class</a></span></dt><dt><span class="sect2"><a href="ch05.html#config-service-class">5.1.4. Config Service Class</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s02.html">5.2. Application Configuration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s02.html#click-app">5.2.1. Click App</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#application-pages">5.2.2. Pages</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s02.html#application-multiple-packages">5.2.2.1. Multiple Pages Packages</a></span></dt></dl></dd><dt><span class="sect2"><a href="ch05s02.html#application-page">5.2.3. Page</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s02.html#application-automapping">5.2.3.1. Page Automapping</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#application-excludes">5.2.3.2. Automapping Excludes</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#application-autobinding">5.2.3.3. Page Autobinding</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#application-autobinding-annotation">5.2.3.4. Page Autobinding - Using Annotations</a></span></dt></dl></dd><dt><span class="sect2"><a href="ch05s02.html#application-headers">5.2.4. Headers</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s02.html#browser-caching">5.2.4.1. Browser Caching</a></span></dt></dl></dd><dt><span class="sect2"><a href="ch05s02.html#application-format">5.2.5. Format</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#application-mode">5.2.6. Mode</a></span></dt><dd><dl><dt><span class="sect3"><a href="ch05s02.html#page-auto-loading">5.2.6.1. Page Auto Loading</a></span></dt><dt><span class="sect3"><a href="ch05s02.html#click-logging">5.2.6.2. Click and Velocity Logging</a></span></dt></dl></dd><dt><span class="sect2"><a href="ch05s02.html#application-controls">5.2.7. Controls</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s03.html">5.3. Auto Deployed Files</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s03.html#deploying-restricted-env">5.3.1. Deploying resources in a restricted environment</a></span></dt><dt><span class="sect2"><a href="ch05s03.html#deploying-custom-resources">5.3.2. Deploying Custom Resources</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch06.html">6. Best Practices</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch06.html#security">6.1. Security</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch06.html#declarative-security">6.1.1. Declarative Security</a></span></dt><dt><span class="sect2"><a href="ch06.html#alternatve-security-solutions">6.1.2. Alternative Security solutions</a></span></dt><dt><span class="sect2"><a href="ch06.html#resources">6.1.3. Resources</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch06s02.html">6.2. Packages and Classes</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch06s02.html#page-classes">6.2.1. Page Classes</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch06s03.html">6.3. Page Auto Mapping</a></span></dt><dt><span class="sect1"><a href="ch06s04.html">6.4. Navigation</a></span></dt><dt><span class="sect1"><a href="ch06s05.html">6.5. Templating</a></span></dt><dt><span class="sect1"><a href="ch06s06.html">6.6. Menus</a></span></dt><dt><span class="sect1"><a href="ch06s07.html">6.7. Logging</a></span></dt><dt><span class="sect1"><a href="ch06s08.html">6.8. Error Handling</a></span></dt><dt><span class="sect1"><a href="ch06s09.html">6.9. Performance</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;1.&nbsp;Introduction to Apache Click</td></tr></table></div></body></html>