You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@click.apache.org by ta...@apache.org on 2010/06/03 18:43:54 UTC
svn commit: r951063 [1/11] - in
/click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide:
./ css/ images/ images/best-practices/ images/callouts/ images/colorsvg/
images/configuration/ images/controls/ images/introduction/ images/pa...
Author: takezoe
Date: Thu Jun 3 16:43:50 2010
New Revision: 951063
URL: http://svn.apache.org/viewvc?rev=951063&view=rev
Log:
Updates documentations.
Added:
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s02.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s03.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s04.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s05.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s06.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s07.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s02.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s03.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s04.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s05.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s06.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s07.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s08.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s09.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s10.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s11.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch02s12.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch03.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch03s02.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch03s03.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch03s04.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch03s05.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch03s06.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch03s07.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch04.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch04s02.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch04s03.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05s02.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05s03.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05s04.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05s05.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05s06.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05s07.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05s08.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch05s09.html (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/css/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/css/stylesheet.css (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/annot-close.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/annot-open.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/best-practices/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/best-practices/packages-classes.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/blank.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/1.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/1.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/1.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/10.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/10.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/10.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/11.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/11.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/11.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/12.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/12.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/12.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/13.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/13.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/13.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/14.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/14.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/14.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/15.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/15.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/15.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/16.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/17.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/18.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/19.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/2.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/2.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/2.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/20.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/21.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/22.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/23.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/24.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/25.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/26.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/27.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/28.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/29.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/3.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/3.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/3.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/30.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/4.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/4.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/4.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/5.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/5.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/5.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/6.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/6.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/6.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/7.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/7.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/7.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/8.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/8.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/8.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/9.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/9.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/callouts/9.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/caution.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/caution.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/caution.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/caution.tif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/click-logo.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/caution.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/home.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/important.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/next.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/note.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/prev.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/tip.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/up.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/colorsvg/warning.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/configuration/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/configuration/config-files.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/controls/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/controls/container-package-class-diagram.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/controls/control-class-diagram.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/controls/control-package-class-diagram.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/controls/control-post-sequence-diagram.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/draft.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/external.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/home.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/home.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/home.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/important.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/important.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/important.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/important.tif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/introduction/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/introduction/advanced-form.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/introduction/advanced-table.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/introduction/hello-world-screenshot.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/introduction/simple-form-error.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/introduction/simple-form-success.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/introduction/simple-form.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/introduction/simple-table.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/next.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/next.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/next.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/note.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/note.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/note.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/note.tif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/pages/
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/pages/activity-diagram-small.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/pages/click-class-diagram.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/pages/get-sequence-diagram.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/pages/home-page-screenshot.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/prev.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/prev.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/prev.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/tip.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/tip.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/tip.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/tip.tif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/toc-blank.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/toc-minus.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/toc-plus.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/up.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/up.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/up.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/warning.gif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/warning.png (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/warning.svg
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/images/warning.tif (with props)
click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/index.html (with props)
Added: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01.html
URL: http://svn.apache.org/viewvc/click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01.html?rev=951063&view=auto
==============================================================================
--- click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01.html (added)
+++ click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01.html Thu Jun 3 16:43:50 2010
@@ -0,0 +1,74 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>Chapter 1. Introduction to 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="up" href="index.html" title="Apache Click"><link rel="prev" href="index.html" title="Apache Click"><link rel="next" href="ch01s02.html" title="1.2. Control Listener Type 1 Example"></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">Chapter 1. Introduction to Apache Click</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 1.&nbs
p;Introduction to Apache Click"><div class="titlepage"><div><div><h2 class="title"><a name="chapter-introduction"></a>Chapter 1. Introduction to Apache Click</h2></div></div></div><div class="toc"><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></div><p>Apach
e Click is a simple JEE web application framework for commercial
+ Java developers.
+ </p><p>Apache Click is an open source project, licensed under the
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../LICENSE.txt" target="_blank"><em class="citetitle">Apache license</em>
+ </a>.
+ </p><p>Click uses an event based programming model for processing Servlet
+ requests and <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../velocity/velocity.html" target="_blank">Velocity</a> for
+ rendering the response. (Note other template engines such as
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="http://java.sun.com/products/jsp/" target="_blank">JSP</a> and
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="http://freemarker.sourceforge.net/" target="_blank">Freemarker</a> are also
+ supported)
+ </p><p>This framework uses a single servlet, called
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/ClickServlet.html" target="_blank">ClickServlet</a>,
+ to act as a request dispatcher. When a request arrives ClickServlet creates
+ a <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/Page.html" target="_blank">Page</a>
+ object to process the request and then uses the page's Velocity template to
+ render the results.
+ </p><p>Pages provide a simple thread safe programming environment, with a new
+ page instance created for each servlet request.
+ </p><p>Possibly the best way to see how Click works is to dive right in and
+ look at some examples. (The examples are also available online at
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="http://www.avoka.com/click-examples/" target="_blank">http://www.avoka.com/click-examples/</a>
+ under the menu "Intro Examples".)
+ </p><div class="sect1" title="1.1. Hello World Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="hello-world"></a>1.1. Hello World Example</h2></div></div></div><p>A Hello World example in Click would look something like this.
+ </p><p>First we create a <code class="classname">HelloWorld</code> page class:
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">package</span> <span class="symbol">examples.page</span>;
+
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">import</span> java.util.Date;
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">import</span> org.apache.click.Page;
+
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> HelloWorld <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">extends</span> Page {
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">private</span> Date time = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Date(); <a class="co" name="co-hello-world-date" href="ch01.html#ca-hello-world-date"><img src="images/callouts/1.gif" alt="1" border="0"></a>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> HelloWorld() {
+ addModel(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"time"</span>, time); <a class="co" name="co-hello-world-addmodel" href="ch01.html#ca-hello-world-addmodel"><img src="images/callouts/2.gif" alt="2" border="0"></a>
+ }
+
+}</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr xmlns:fo="http://www.w3.org/1999/XSL/Format"><td valign="top" align="left"><a name="ca-hello-world-date"></a><a href="#co-hello-world-date"><img src="images/callouts/1.gif" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Assign a new Date instance to the <code class="literal">time</code> variable.
+ </p></td></tr><tr xmlns:fo="http://www.w3.org/1999/XSL/Format"><td valign="top" align="left"><a name="ca-hello-world-addmodel"></a><a href="#co-hello-world-addmodel"><img src="images/callouts/2.gif" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Add the <code class="literal">time</code> variable to the Page model under
+ the name <code class="varname">"time"</code>. Click ensures all objects added
+ to the Page model is automatically available in the Page template.
+ </p></td></tr></table></div><p>Next we have a page template <code class="varname">hello-world.htm</code>,
+ <a class="indexterm" name="d0e101"></a>
+ where we can access the Page's <code class="literal">time</code> variable using the
+ reference <code class="varname">$time</code>:
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><html></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><body></span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><h2></span>Hello World<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></h2></span>
+
+ Hello world from Click at <code class="varname">$time</code>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></body></span>
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></html></span></pre><p>Click is smart enough to figure out that the <code class="classname">HelloWorld</code>
+ page class maps to the template <code class="varname">hello-world.htm</code>. We only
+ have to inform Click of the <span class="package">package</span> of the HelloWorld
+ class, in this case <span class="symbol">examples.page</span>. We do that through the
+ <a class="link" href="ch04s02.html" title="4.2. Application Configuration">click.xml</a> configuration
+ file which allows Click to map <code class="varname">hello-world.htm</code> requests
+ to the <code class="classname">examples.page.HelloWorld</code> page class.
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><click-app></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><pages</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">package</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"</span><span class="symbol">examples.page</span>"/>
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></click-app></span></pre><p>At runtime the following sequence of events occur. The ClickSerlvet
+ maps a GET <code class="varname">hello-world.htm</code> request to our page class
+ <code class="classname">example.page.HelloWorld</code> and creates a new instance.
+ The HelloWorld page creates a new private <span class="emphasis"><em>Date</em></span> object,
+ which is added to the page's model under the name <code class="varname">time</code>.
+ </p><p>The page model is then merged with the template which substitutes
+ the <code class="varname">$time</code> reference with the <span class="emphasis"><em>Date</em></span>
+ object. Velocity then renders the merged template as:
+ </p><div class="figure"><a name="hello-world-screenshot"></a><div class="figure-contents"><span class="inlinemediaobject"><img src="images/introduction/hello-world-screenshot.png" alt="Hello World Screenshot"></span></div><p xmlns:fo="http://www.w3.org/1999/XSL/Format" class="title"><i>Figure 1.1. Hello World Screenshot</i></p></div><br class="figure-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Apache Click </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.2. Control Listener Type 1 Example</td></tr></table></div></body></html>
\ No newline at end of file
Propchange: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01.html
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s02.html
URL: http://svn.apache.org/viewvc/click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s02.html?rev=951063&view=auto
==============================================================================
--- click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s02.html (added)
+++ click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s02.html Thu Jun 3 16:43:50 2010
@@ -0,0 +1,67 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>1.2. Control Listener Type 1 Example</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="up" href="ch01.html" title="Chapter 1. Introduction to Apache Click"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction to Apache Click"><link rel="next" href="ch01s03.html" title="1.3. Control Listener Type 2 Example"></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">1.2. Control Listener Type 1 Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction to Apache Click</th><td width="20%" align="right"> <a accesskey="n" href=
"ch01s03.html">Next</a></td></tr></table><hr></div><div class="sect1" title="1.2. Control Listener Type 1 Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="control-listener-type-1"></a>1.2. Control Listener Type 1 Example</h2></div></div></div><p>Click includes a library of <a class="link" href="ch03.html" title="Chapter 3. Controls">Controls</a>
+ which provide user interface functionality.
+ </p><p>One of the commonly used controls is the
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/ActionLink.html" target="_blank">ActionLink</a>,
+ which you can use to have an HTML link call a method on a Page object.
+ For example:
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">class</span> ControlListenerType1Page <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">extends</span> Page {
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">/* Set the listener to this object's "onLinkClick" method. */</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> ActionLink myLink = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> ActionLink(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">this</span>, <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"onLinkClick"</span>); <a class="co" name="co-bindable" href="ch01s02.html#ca-bindable"><img src="images/callouts/1.gif" alt="1" border="0"></a>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> String msg;
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// --------------------------------------------------------- Event Handlers</span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">/**
+ * Handle the ActionLink control click event.
+ */</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">boolean</span> onLinkClick() {
+ msg = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"ControlListenerPage#"</span> + hashCode()
+ + <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">" object method <tt>onLinkClick()</tt> invoked."</span>;
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">return</span> true;
+ }
+
+}</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr xmlns:fo="http://www.w3.org/1999/XSL/Format"><td valign="top" align="left"><a name="ca-bindable"></a><a href="#co-bindable"><img src="images/callouts/1.gif" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Variables annotated with <code class="literal">@Bindable</code>
+ is a short-hand way of instructing Click to automatically bind request
+ parameters to Page variables. In addition these variables will
+ automatically be added to the Page model. For more information please see the
+ section <a class="link" href="ch02s03.html" title="2.3. Request Parameter Auto Binding">Request Parameter Auto Binding</a>.
+ </p></td></tr></table></div><p>In the Page class we create an ActionLink called
+ <code class="varname">myLink</code> and define the control's listener to be the page
+ method <code class="methodname">onLinkClick()</code>. When a user clicks on
+ <code class="varname">myLink</code> control it will invoke the listener method
+ <code class="methodname">onLinkClick()</code>.
+ </p><p>In Click a control listener method can have any name but it must
+ return a boolean value. The boolean return value specifies whether
+ processing of page events should continue. This control listener pattern
+ provides a short hand way for wiring up action listener methods without
+ having to define anonymous inner classes.
+ </p><p>The advantage of this style of control listener binding is that you
+ have to write fewer lines of code. The disadvantage of this type of control
+ listener binding is that no compile time safety is provided, and you miss
+ out on the compiler refactoring capabilities provided with modern IDEs.
+ </p><p>Back to our example, in the page template we define an HTML link and
+ have the <code class="varname">myLink</code> control render the link's href attribute:
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><html></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><head></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><link</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">type</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"text/css"</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">rel</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"stylesheet"</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">href</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"style.css"</span><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag">></span><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></link></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></head></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><body></span>
+
+ Click myLink control <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><a</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">href</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"</span><code class="varname">$myLink.href</code>">here<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></a></span>.
+
+ <span class="command"><strong>#if</strong></span> (<code class="varname">$msg</code>)
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><div</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">id</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"msgDiv"</span><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag">></span> <code class="varname">$msg</code> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></div></span>
+ <span class="command"><strong>#end</strong></span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></body></span>
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></html></span></pre><p>At runtime this page would be rendered as:</p><div class="literallayout"><p>Click myLink control <code class="varname">here</code>.</p></div><p>When a user clicks on the link the <code class="methodname">onLinkClick()</code>
+ method is invoked. This method then creates the <code class="varname">msg</code> model
+ value, which is rendered in the page as:
+ </p><div class="literallayout"><p>Click myLink control <code class="varname">here</code>.<br>
+<br>
+<code class="computeroutput">ControlListenerPage#12767107 object method onLinkClick() invoked.</code></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. Introduction to Apache Click </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.3. Control Listener Type 2 Example</td></tr></table></div></body></html>
\ No newline at end of file
Propchange: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s02.html
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s03.html
URL: http://svn.apache.org/viewvc/click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s03.html?rev=951063&view=auto
==============================================================================
--- click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s03.html (added)
+++ click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s03.html Thu Jun 3 16:43:50 2010
@@ -0,0 +1,56 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>1.3. Control Listener Type 2 Example</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="up" href="ch01.html" title="Chapter 1. Introduction to Apache Click"><link rel="prev" href="ch01s02.html" title="1.2. Control Listener Type 1 Example"><link rel="next" href="ch01s04.html" title="1.4. Simple Table Example"></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">1.3. Control Listener Type 2 Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction to Apache Click</th><td width="20%" align="right"> <a accesskey="n" href="ch01s04.html
">Next</a></td></tr></table><hr></div><div class="sect1" title="1.3. Control Listener Type 2 Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="control-listener-type-2"></a>1.3. Control Listener Type 2 Example</h2></div></div></div><p>The second type of control listener binding uses the
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/ActionListener.html" target="_blank">ActionListener</a>
+ interface to provide compile time safety. This compile time binding also
+ supports code refactoring using modern IDE tools.
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">class</span> ControlListenerType2Page <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">extends</span> Page {
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">/* Public scope controls are automatically added to the page. */</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> ActionLink myLink = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> ActionLink();
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> String msg;
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// ------------------------------------------------------------ Constructor</span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">/**
+ * Create a new Page instance.
+ */</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> ControlListenerType2Page() {
+ myLink.setActionListener(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> ActionListener() {
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">boolean</span> onAction(Control control) {
+ msg = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"ControlListenerPage#"</span> + hashCode()
+ + <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">" object method <tt>onAction()</tt> invoked."</span>;
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">return</span> true;
+ }
+ });
+ }
+
+}</pre><p>In the Page class we create an ActionLink called
+ <code class="varname">myLink</code>. In the Page constructor we set the control's
+ action listener to an anonymous inner class which implements the
+ <code class="methodname">onAction()</code>. When a user clicks on
+ <code class="varname">myLink</code> control it will invoke the action listener method
+ <code class="methodname">onAction()</code>.
+ </p><p>As with our previous example, in the page template we define a HTML link and
+ have the <code class="varname">myLink</code> control render the link's href attribute:
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><html></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><head></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><link</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">type</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"text/css"</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">rel</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"stylesheet"</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">href</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"style.css"</span><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag">></span><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></link></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></head></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><body></span>
+
+ Click myLink control <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><a</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">href</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"</span><code class="varname">$myLink.href</code>">here<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></a></span>.
+
+ <span class="command"><strong>#if</strong></span> (<code class="varname">$msg</code>)
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><div</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">id</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"msgDiv"</span><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag">></span> <code class="varname">$msg</code> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></div></span>
+ <span class="command"><strong>#end</strong></span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></body></span>
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></html></span></pre><p>At runtime this page would be rendered as:</p><div class="literallayout"><p>Click myLink control <code class="varname">here</code>.</p></div><p>When a user clicks on the link the <code class="methodname">onAction()</code>
+ method is invoked. This method then creates the <code class="varname">msg</code> model
+ value, which is rendered in the page as:
+ </p><div class="literallayout"><p>Click myLink control <code class="varname">here</code>.<br>
+<br>
+<code class="computeroutput">ControlListenerPage#12767107 object method onAction() invoked.</code></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.2. Control Listener Type 1 Example </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.4. Simple Table Example</td></tr></table></div></body></html>
\ No newline at end of file
Propchange: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s03.html
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s04.html
URL: http://svn.apache.org/viewvc/click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s04.html?rev=951063&view=auto
==============================================================================
--- click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s04.html (added)
+++ click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s04.html Thu Jun 3 16:43:50 2010
@@ -0,0 +1,63 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>1.4. Simple Table Example</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="up" href="ch01.html" title="Chapter 1. Introduction to Apache Click"><link rel="prev" href="ch01s03.html" title="1.3. Control Listener Type 2 Example"><link rel="next" href="ch01s05.html" title="1.5. Advanced Table Example"></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">1.4. Simple Table Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction to Apache Click</th><td width="20%" align="right"> <a accesskey="n" href="ch01s05.html">Next</a></td></tr>
</table><hr></div><div class="sect1" title="1.4. Simple Table Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="simple-table"></a>1.4. Simple Table Example</h2></div></div></div><p>One of the most useful Click controls is the
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/Table.html" target="_blank">Table</a>
+ control.
+ </p><p>An example usage of the Table control in a customers Page is provided
+ below:
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">class</span> SimpleTablePage <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">extends</span> Page {
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> Table table = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Table();
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// -------------------------------------------------------- Constructor</span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> SimpleTablePage() {
+ table.setClass(Table.CLASS_ITS);
+
+ table.addColumn(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"id"</span>));
+ table.addColumn(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"name"</span>));
+ table.addColumn(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"email"</span>));
+ table.addColumn(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"investments"</span>));
+ }
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// ----------------------------------------------------- Event Handlers</span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">/**
+ * @see Page#onRender()
+ */</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Override</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">void</span> onRender() {
+ List list = getCustomerService().getCustomersSortedByName(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="lit">10</span>);
+ table.setRowList(list);
+ }
+}</pre><p>In this Page code example a Table control is declared, we set the
+ table's HTML class, and then define a number of table
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/Column.html" target="_blank">Column</a>
+ objects. In the column definitions we specify the name of the column in the
+ constructor, which is used for the table column header and also to specify
+ the row object property to render.
+ </p><p>The last thing we need to do is populate the table with data. To do
+ this we override the Page onRender() method and set the table row list
+ before it is rendered.
+ </p><p>In our Page template we simply reference the <code class="varname">$table</code>
+ object which is rendered when its <code class="methodname">toString()</code> method
+ is called.
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><html></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><head></span>
+ <code class="varname">$headElements</code>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></head></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><body></span>
+
+ <code class="varname">$table</code>
+
+ <code class="varname">$jsElements</code>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></body></span>
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></html></span></pre><p>Note from the example above that we specify the <code class="varname">$headElements</code>
+ reference so that the table can include any HEAD elements, which includes Css
+ imports and styles, in the header. Also note we specify the
+ <code class="varname">$jsElements</code> reference which include any JavaScript imports
+ and scripts at the bottom. At runtime Click automatically makes the variables
+ <code class="varname">$headElements</code> and <code class="varname">$jsElements</code> available
+ to the template.
+ </p><p>At runtime the Table would be rendered in the page as:</p><div class="figure"><a name="simple-table-image"></a><div class="figure-contents"><div class="mediaobject"><img src="images/introduction/simple-table.png" alt="Simple Table"></div></div><p xmlns:fo="http://www.w3.org/1999/XSL/Format" class="title"><i>Figure 1.2. Simple Table</i></p></div><br class="figure-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.3. Control Listener Type 2 Example </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.5. Advanced Table Example<
/td></tr></table></div></body></html>
\ No newline at end of file
Propchange: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s04.html
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s05.html
URL: http://svn.apache.org/viewvc/click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s05.html?rev=951063&view=auto
==============================================================================
--- click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s05.html (added)
+++ click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s05.html Thu Jun 3 16:43:50 2010
@@ -0,0 +1,105 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>1.5. Advanced Table Example</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="up" href="ch01.html" title="Chapter 1. Introduction to Apache Click"><link rel="prev" href="ch01s04.html" title="1.4. Simple Table Example"><link rel="next" href="ch01s06.html" title="1.6. Simple Form Example"></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">1.5. Advanced Table Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction to Apache Click</th><td width="20%" align="right"> <a accesskey="n" href="ch01s06.html">Next</a></td></tr></table><h
r></div><div class="sect1" title="1.5. Advanced Table Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="advanced-table"></a>1.5. Advanced Table Example</h2></div></div></div><p>The Table control also provides support for:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>automatic rendering</p></li><li class="listitem"><p>column formatting and custom rendering</p></li><li class="listitem"><p>automatic pagination</p></li><li class="listitem"><p>link control support</p></li></ul></div><p>A more advanced Table example is provided below:</p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">class</span> CustomerPage <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">extends</span> Page {
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> Table table = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Table();
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> PageLink editLink = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> PageLink(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"Edit"</span>, EditCustomer.<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">class</span>);
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> ActionLink deleteLink = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> ActionLink(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"Delete"</span>, <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">this</span>, <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"onDeleteClick"</span>);
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// ------------------------------------- Constructor</span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> CustomersPage() {
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// Setting Page to stateful to preserve Table sort and paging state while</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// editing customers</span>
+ setStateful(true); <a class="co" name="co-stateful-table" href="ch01s05.html#ca-stateful-table"><img src="images/callouts/1.gif" alt="1" border="0"></a>
+
+ table.setClass(Table.CLASS_ITS);
+ table.setPageSize(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="lit">10</span>);
+ table.setShowBanner(true);
+ table.setSortable(true);
+
+ table.addColumn(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"id"</span>));
+
+ table.addColumn(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"name"</span>));
+
+ Column column = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"email"</span>);
+ column.setAutolink(true);
+ column.setTitleProperty(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"name"</span>);
+ table.addColumn(column);
+
+ table.addColumn(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"investments"</span>));
+
+ editLink.setImageSrc(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"/images/table-edit.png"</span>);
+ editLink.setTitle(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"Edit customer details"</span>);
+ editLink.setParameter(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"referrer"</span>, <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"/introduction/advanced-table.htm"</span>);
+
+ deleteLink.setImageSrc(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"/images/table-delete.png"</span>);
+ deleteLink.setTitle(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"Delete customer record"</span>);
+ deleteLink.setAttribute(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"onclick"</span>,
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"return window.confirm('Are you sure you want to delete this record?');"</span>);
+
+ column = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Column(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"Action"</span>);
+ column.setTextAlign(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"center"</span>);
+ AbstractLink[] links = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> AbstractLink[] { editLink, deleteLink };
+ column.setDecorator(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> LinkDecorator(table, links, <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"id"</span>));
+ column.setSortable(false);
+ table.addColumn(column);
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// Table rowList will be populated through a DataProvider which loads</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// data on demand.</span>
+ table.setDataProvider(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> DataProvider() {
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> List getData() {
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">return</span> getCustomerService().getCustomers();
+ }
+ });
+ }
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// ---------------------------------- Event Handlers</span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">/**
+ * Handle the delete row click event.
+ */</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">boolean</span> onDeleteClick() {
+ Integer id = deleteLink.getValueInteger();
+ getCustomerService().deleteCustomer(id);
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">return</span> true;
+ }
+}</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr xmlns:fo="http://www.w3.org/1999/XSL/Format"><td valign="top" align="left"><a name="ca-stateful-table"></a><a href="#co-stateful-table"><img src="images/callouts/1.gif" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Setting Page to stateful instructs Click to store the Page in the
+ <a class="external" href="http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/http/HttpSession.html" target="_blank">HttpSession</a>.
+ This ensures the Table's sort and paging state is preserved while editing
+ customers. See the <a class="link" href="ch02s08.html" title="2.8. Stateful Pages">Stateful Page</a>
+ section for more details.
+ </p></td></tr></table></div><p>In this Page code example a Table control is declared and a number of
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/Column.html" target="_blank">Column</a>
+ objects are added. We set the Table's
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/dataprovider/DataProvider.html" target="_blank">DataProvider</a>
+ instance which provides data on demand to the table. Data retrieved from the
+ dataProvider will be used to populate the Table rowList before it is rendered.
+ An editLink <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/PageLink.html" target="_blank">PageLink</a>
+ control is used as decorator for the "Action" column. This control navigates
+ to the <code class="classname">EditCustomer</code> page. A deleteLink
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/ActionLink.html" target="_blank">ActionLink</a>
+ control is also used as a decorator for the "Action" column. This control will
+ invoke the Page <code class="methodname">onDeleteClick()</code> method when it is
+ clicked.
+ </p><p>In our Page template we simply reference the <code class="varname">$table</code>
+ object which is rendered when its <code class="methodname">toString()</code> method
+ is called.
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><html></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><head></span>
+ <code class="varname">$headElements</code>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></head></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><body></span>
+
+ <code class="varname">$table</code>
+
+ <code class="varname">$jsElements</code>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></body></span>
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></html></span></pre><p>At runtime the Table would be rendered in the page as:</p><div class="figure"><a name="advanced-table-image"></a><div class="figure-contents"><div class="mediaobject"><img src="images/introduction/advanced-table.png" alt="Advanced Table"></div></div><p xmlns:fo="http://www.w3.org/1999/XSL/Format" class="title"><i>Figure 1.3. Advanced Table</i></p></div><br class="figure-break"><p>In this example, clicking on the Edit link will navigate the user to
+ the <code class="classname">EditCustomer</code> page where the selected customer
+ can be edited. When the user click on the Delete link, the
+ <code class="methodname">onDeleteClick()</code> method will be called on the Page
+ deleting the customer record.
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.4. Simple Table Example </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.6. Simple Form Example</td></tr></table></div></body></html>
\ No newline at end of file
Propchange: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s05.html
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s06.html
URL: http://svn.apache.org/viewvc/click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s06.html?rev=951063&view=auto
==============================================================================
--- click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s06.html (added)
+++ click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s06.html Thu Jun 3 16:43:50 2010
@@ -0,0 +1,72 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>1.6. Simple Form Example</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="up" href="ch01.html" title="Chapter 1. Introduction to Apache Click"><link rel="prev" href="ch01s05.html" title="1.5. Advanced Table Example"><link rel="next" href="ch01s07.html" title="1.7. Advanced Form Example"></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">1.6. Simple Form Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s05.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction to Apache Click</th><td width="20%" align="right"> <a accesskey="n" href="ch01s07.html">Next</a></td></tr></table><hr>
</div><div class="sect1" title="1.6. Simple Form Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="simple-form"></a>1.6. Simple Form Example</h2></div></div></div><p>The <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/Form.html" target="_blank">Form</a>
+ and <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/Field.html" target="_blank">Field</a>
+ controls are also some of the most commonly used controls in the Click Framework.
+ </p><p>The SimpleForm page below provides a demonstration of using these
+ controls.
+ </p><p>In our example code we have the page's constructor adding a
+ <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/TextField.html" target="_blank">TextField</a>
+ field and a <a xmlns:fo="http://www.w3.org/1999/XSL/Format" class="external" href="../../click-api/org/apache/click/control/Submit.html" target="_blank">Submit</a>
+ button to the form. A page method is also set as a control listener on the
+ form. Also note in this example the page's public <code class="varname">form</code>
+ field is automatically added to its list of controls.
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">class</span> SimpleForm <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">extends</span> Page {
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> Form form = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Form();
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pun">@Bindable</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">protected</span> String msg;
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// -------------------------------------------------------- Constructor</span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> SimpleForm() {
+ form.add(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> TextField(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"name"</span>, true));
+ form.add(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">new</span> Submit(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"OK"</span>));
+
+ form.setListener(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">this</span>, <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"onSubmit"</span>);
+ }
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">// ----------------------------------------------------- Event Handlers</span>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="com">/**
+ * Handle the form submit event.
+ */</span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">public</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">boolean</span> onSubmit() {
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">if</span> (form.isValid()) {
+ msg = <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"Your name is "</span> + form.getFieldValue(<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="str">"name"</span>);
+ }
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="kwd">return</span> true;
+ }
+}</pre><p>Next we have the SimpleForm template <code class="varname">simple-form.htm</code>.
+ The Click application automatically associates the
+ <code class="varname">simple-form.htm</code> template with the
+ <code class="classname">SimpleForm</code> class.
+ </p><pre class="programlisting"><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><html></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><head></span>
+ <code class="varname">$headElements</code>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></head></span>
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><body></span>
+
+ <code class="varname">$form</code>
+
+ <span class="command"><strong>#if</strong></span> (<code class="varname">$msg</code>)
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"><div</span> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="atn">id</span>=<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="pln">"msgDiv"</span><span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag">></span> <code class="varname">$msg</code> <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></div></span>
+ <span class="command"><strong>#end</strong></span>
+
+ <code class="varname">$jsElements</code>
+
+ <span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></body></span>
+<span xmlns:fo="http://www.w3.org/1999/XSL/Format" class="tag"></html></span></pre><p>When the SimpleForm page is first requested the <code class="varname">$form</code>
+ object will automatically render itself as:
+ </p><div class="figure"><a name="simple-form-image"></a><div class="figure-contents"><div class="mediaobject"><img src="images/introduction/simple-form.png" alt="Simple Form"></div></div><p xmlns:fo="http://www.w3.org/1999/XSL/Format" class="title"><i>Figure 1.4. Simple Form</i></p></div><br class="figure-break"><p>Say the user does not enter their name and presses the OK button to
+ submit the form. The <code class="classname">ClickServlet</code> creates a new
+ SimpleForm page and processes the form control.
+ </p><p>The form control processes its fields and determines that it is
+ invalid. The form then invokes the listener method
+ <code class="methodname">onSubmit()</code>. As the form is not valid this method
+ simply returns true and the form renders the field validation errors.
+ </p><div class="figure"><a name="simple-form-error-image"></a><div class="figure-contents"><div class="mediaobject"><img src="images/introduction/simple-form-error.png" alt="Form after an invalid request"></div></div><p xmlns:fo="http://www.w3.org/1999/XSL/Format" class="title"><i>Figure 1.5. Form after an invalid request</i></p></div><br class="figure-break"><p>Note the form will automatically maintain the entered state during the
+ post and validate cycle.
+ </p><p>Now if the user enters their name and clicks the OK button, the form
+ will be valid and the <code class="methodname">onSubmit()</code> add a
+ <code class="varname">msg</code> to the Pages model. This will be rendered as:
+ </p><div class="figure"><a name="simple-form-success-image"></a><div class="figure-contents"><div class="mediaobject"><img src="images/introduction/simple-form-success.png" alt="Form after a valid request"></div></div><p xmlns:fo="http://www.w3.org/1999/XSL/Format" class="title"><i>Figure 1.6. Form after a valid request</i></p></div><br class="figure-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.5. Advanced Table Example </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 1.7. Advanced Form Example</td></tr></table></div></body
></html>
\ No newline at end of file
Propchange: click/trunk/tools/eclipse/org.apache.click.eclipse/documentation/user-guide/ch01s06.html
------------------------------------------------------------------------------
svn:mime-type = text/plain