Added: wicket/common/site/working-with-dropdownchoice.html URL: http://svn.apache.org/viewvc/wicket/common/site/working-with-dropdownchoice.html?rev=618802&view=auto ============================================================================== --- wicket/common/site/working-with-dropdownchoice.html (added) +++ wicket/common/site/working-with-dropdownchoice.html Tue Feb 5 14:25:57 2008 @@ -0,0 +1,219 @@ + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<HTML> +<HEAD> + <!-- $PAGETITLE --> + <TITLE>Apache Wicket - Working with DropDownChoice</TITLE> + <STYLE>@import url(style/wicket.css);</STYLE> + <!--[if lt IE 7]> + <style>@import url(style/ie.css);</style> + <![endif]--> + <LINK rel="icon" href="http://incubator.apache.org/wicket/favicon.ico"> +<META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD> +<BODY> +<DIV id="container"> + <DIV id="content"> + <DIV id="header"><A href=""><H1 id="logo"><SPAN>Apache Wicket</SPAN></H1></A></DIV> + <DIV id="navigation"> + + + + + + <H5><A name="Navigation-Wicket"></A>Wicket</H5> +<UL> + <LI><A href="index.html" title="Index">Home</A></LI> + <LI><A href="buzz.html" title="Buzz">Buzz</A></LI> + <LI><A href="introduction.html" title="Introduction">Introduction</A></LI> + <LI><A href="features.html" title="Features">Features</A></LI> + <LI><A href="planet-wicket.html" title="Planet Wicket">Planet Wicket</A></LI> + <LI><A href="community.html" title="Community">Community</A></LI> +</UL> + + +<H5><A name="Navigation-GettingStarted"></A>Getting Started</H5> +<UL> + <LI><A href="examples.html" title="Examples">Examples</A></LI> + <LI><A href="getting-wicket.html" title="Getting Wicket">Getting Wicket</A></LI> + <LI><SPAN class="nobr"><A href="http://wicketstuff.org/wicket13/compref/" title="Visit page outside Confluence" rel="nofollow">Components<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> +</UL> + + +<H5><A name="Navigation-Documentation"></A>Documentation</H5> +<UL> + <LI><SPAN class="nobr"><A href="http://cwiki.apache.org/WICKET" title="Visit page outside Confluence" rel="nofollow">Wiki<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><A href="blogs.html" title="Blogs">Blogs</A></LI> + <LI><SPAN class="nobr"><A href="http://cwiki.apache.org/WICKET/reference-library.html" title="Visit page outside Confluence" rel="nofollow">Reference<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><A href="vision.html" title="Vision">Vision</A></LI> +</UL> + + +<H5><A name="Navigation-Toolsupport"></A>Tool support</H5> +<UL> + <LI><SPAN class="nobr"><A href="http://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WICKETxSITE&title=IDE%20plugins&linkCreation=true&fromPageId=31476" title="Create Page: IDE plugins" class="createlink">IDE plugins<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/plus.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> +</UL> + + +<H5><A name="Navigation-Developers"></A>Developers</H5> +<UL> + <LI><SPAN class="nobr"><A href="https://issues.apache.org/jira/browse/WICKET" title="Visit page outside Confluence" rel="nofollow">Reporting bugs<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><A href="writing-documentation.html" title="Writing documentation">Writing docs</A></LI> + <LI><A href="building-from-svn.html" title="Building from SVN">Building</A></LI> +</UL> + <DIV id="clearer"></DIV> + <A href="http://incubator.apache.org/projects/wicket"><H3 id="incubator"><SPAN>Now incubating!</SPAN></H3></A> + </DIV> + <DIV id="contentbody"> + <H1><A name="WorkingwithDropDownChoice-TheDropDownChoiceexample"></A>The DropDownChoice example</H1> + +<P>One of the most problematic components for beginners of Wicket is the <TT>DropDownChoice</TT> component. In this example we will work the component to give a little more insight into its workings. This example requires that you have some understanding of the Wicket component model (nothing fancy though, but you might want to read the other examples first), and the Model concept used in Wicket (you can read more on models <SPAN class="nobr"><A href="http://cwiki.apache.org/WICKET/working-with-wicket-models.html" title="Visit page outside Confluence" rel="nofollow">here<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN>).</P> + +<H2><A name="WorkingwithDropDownChoice-Theexampledomain"></A>The example domain</H2> + +<P>The <TT>DropDownChoice</TT> component is typically used <EM>inside</EM> a form. This example will expand on that usage. The component is particularly designed to work with objects. So let's say we have a list of people and we want to select the manager of an employee.</P> + +<DIV class="code"><DIV class="codeContent"> +<PRE class="code-java"><SPAN class="code-keyword">public</SPAN> class Person { + <SPAN class="code-keyword">private</SPAN> <SPAN class="code-object">Long</SPAN> id; + <SPAN class="code-keyword">private</SPAN> <SPAN class="code-object">String</SPAN> name; + <SPAN class="code-keyword">private</SPAN> Person managedBy; + + <SPAN class="code-comment">// ... insert getters and setters +</SPAN> + /** + * Used to display the person. + */ + <SPAN class="code-keyword">public</SPAN> <SPAN class="code-object">String</SPAN> toString() { + <SPAN class="code-keyword">return</SPAN> name; + } + + /** + * Gets the list of possible managers from the database. + */ + <SPAN class="code-keyword">public</SPAN> <SPAN class="code-keyword">static</SPAN> List<Person> getManagers() { + <SPAN class="code-comment">// gets the managers from the database +</SPAN> } +}</PRE> +</DIV></DIV> + +<H2><A name="WorkingwithDropDownChoice-Theassignmanagerpage"></A>The assign manager page</H2> + +<P>Next we want to create a page where we assign a manager to an employee. This is how the page would look like in HTML:</P> +<DIV class="code"><DIV class="codeContent"> +<PRE class="code-html"><SPAN class="code-tag"><html></SPAN> +<SPAN class="code-tag"><body></SPAN> +<SPAN class="code-tag"><form wicket:id=<SPAN class="code-quote">"form"</SPAN>></SPAN> +<SPAN class="code-tag"><h1></SPAN>Assign manager<SPAN class="code-tag"></h1></SPAN> +<SPAN class="code-tag"><table></SPAN> +<SPAN class="code-tag"><tr></SPAN> + <SPAN class="code-tag"><th></SPAN>Name<SPAN class="code-tag"></th></SPAN> + <SPAN class="code-tag"><td wicket:id=<SPAN class="code-quote">"name"</SPAN>></SPAN>Some employee<SPAN class="code-tag"></td></SPAN> +<SPAN class="code-tag"></tr></SPAN> +<SPAN class="code-tag"><tr></SPAN> + <SPAN class="code-tag"><th></SPAN>Managed by<SPAN class="code-tag"></th></SPAN> + <SPAN class="code-tag"><td></SPAN><SPAN class="code-tag"><select wicket:id=<SPAN class="code-quote">"managedBy"</SPAN>></SPAN> + <SPAN class="code-tag"><option></SPAN>Some Person<SPAN class="code-tag"></option></SPAN> + <SPAN class="code-tag"><option></SPAN>Some Other Person<SPAN class="code-tag"></option></SPAN> + <SPAN class="code-tag"></select></SPAN> + <SPAN class="code-tag"></td></SPAN> +<SPAN class="code-tag"></tr></SPAN> +<SPAN class="code-tag"><tr></SPAN><SPAN class="code-tag"><td colspan=<SPAN class="code-quote">"2"</SPAN>></SPAN><SPAN class="code-tag"><input type=<SPAN class="code-quote">"submit"</SPAN> value=<SPAN class="code-quote">"Save"</SPAN>/></SPAN><SPAN class="code-tag"></td></SPAN><SPAN class="code-tag"></tr></SPAN> +<SPAN class="code-tag"></table></SPAN> +<SPAN class="code-tag"></form></SPAN> +<SPAN class="code-tag"></body></SPAN> +<SPAN class="code-tag"></html></SPAN></PRE> +</DIV></DIV> + +<P>This page has three components:</P> +<UL> + <LI>a form (needed to process the input),</LI> + <LI>a label (to show the name of the employee) and</LI> + <LI>a select box for picking the manager.</LI> +</UL> + + +<P>We will focus on the select box, because that will be our drop down choice. The <TT><option></TT> tags are there for preview, our component will replace them with the generated choices.</P> + +<P>Let's see how the page looks like from the Java side:</P> + +<DIV class="code"><DIV class="codeContent"> +<PRE class="code-java"><SPAN class="code-keyword">public</SPAN> class AssignManagerPage <SPAN class="code-keyword">extends</SPAN> WebPage { + <SPAN class="code-keyword">public</SPAN> AssignManagerPage(Person employee) { + Form form = <SPAN class="code-keyword">new</SPAN> Form(<SPAN class="code-quote">"form"</SPAN>); + add(form); + form.add(<SPAN class="code-keyword">new</SPAN> Label(<SPAN class="code-quote">"name"</SPAN>, <SPAN class="code-keyword">new</SPAN> PropertyModel(employee, <SPAN class="code-quote">"name"</SPAN>))); + + DropDownChoice ddc = + <SPAN class="code-keyword">new</SPAN> DropDownChoice(<SPAN class="code-quote">"name"</SPAN>, + <SPAN class="code-keyword">new</SPAN> PropertyModel(employee, <SPAN class="code-quote">"managedBy"</SPAN>), + <SPAN class="code-keyword">new</SPAN> LoadableDetachableModel() { + @Override + <SPAN class="code-keyword">protected</SPAN> <SPAN class="code-object">Object</SPAN> load() { + <SPAN class="code-keyword">return</SPAN> Person.getManagers(); + } + } + ); + form.add(ddc)); + } +}</PRE> +</DIV></DIV> + +<P>In this example you see that we add the <TT>DropDownChoice</TT> to the form, and provide it with 3 parameters. The first is the component identifier. The second is the item that needs to be updated, in this case the <TT>managedBy</TT> field of the <TT>employee</TT>. The third parameter is a <TT>LoadableDetachableModel</TT> that retrieves the list of available choices.</P> + +<P>Note that the <TT>DropDownChoice</TT> component has many constructors, and that you need to read the JavaDoc documentation to pick the right one for you.</P> + +<P>This generates (basically) the following markup when the list of managers is Kyle Brovlovski, Stan Marsh, Eric Cartman, and Kenny McCormick:</P> +<DIV class="code"><DIV class="codeContent"> +<PRE class="code-html"><SPAN class="code-tag"><tr></SPAN> + <SPAN class="code-tag"><th></SPAN>Managed by<SPAN class="code-tag"></th></SPAN> + <SPAN class="code-tag"><td></SPAN><SPAN class="code-tag"><select wicket:id=<SPAN class="code-quote">"managedBy"</SPAN> name=<SPAN class="code-quote">"managedBy"</SPAN>></SPAN> + <SPAN class="code-tag"><option selected=<SPAN class="code-quote">"selected"</SPAN> value=""></SPAN>Choose one<SPAN class="code-tag"></option></SPAN> + <SPAN class="code-tag"><option value=<SPAN class="code-quote">"0"</SPAN>></SPAN>Kyle Brovlovski<SPAN class="code-tag"></option></SPAN> + <SPAN class="code-tag"><option value=<SPAN class="code-quote">"1"</SPAN>></SPAN>Stan Marsh<SPAN class="code-tag"></option></SPAN> + <SPAN class="code-tag"><option value=<SPAN class="code-quote">"2"</SPAN>></SPAN>Eric Cartman<SPAN class="code-tag"></option></SPAN> + <SPAN class="code-tag"><option value=<SPAN class="code-quote">"3"</SPAN>></SPAN>Kenny McCormick<SPAN class="code-tag"></option></SPAN> + <SPAN class="code-tag"></select></SPAN> + <SPAN class="code-tag"></td></SPAN> +<SPAN class="code-tag"></tr></SPAN></PRE> +</DIV></DIV> + +<P>As you can see from this markup is that Wicket added the items of the managers list and numbered the values of the options. These are the indexes of the items in the list. If the order of the list can change between requests, <EM>or</EM> if the list itself can change, then please use an <TT>IChoiceRenderer</TT>.</P> + +<H2><A name="WorkingwithDropDownChoice-Selectingachoice"></A>Selecting a choice</H2> + +<P>Now if a user selects a value and submits the form, Wicket will assign the manager to the employee (the <TT>PropertyModel</TT> takes care of that). The following list shows what basically happens:</P> + +<OL> + <LI>create new Employee, with <TT>null</TT> for its manager</LI> + <LI>create AssignManagerPage with the employee</LI> + <LI>render page, selected value is <TT>"Choose one"</TT></LI> + <LI>user selects "Eric Cartman" and submits form</LI> + <LI>Wicket assigns manager "Eric Cartman" to <TT>managedBy</TT> field of the employee</LI> +</OL> + + +<P>So there is no need for getting or setting the value from the drop down component: Wicket binds directly to your domain objects if you use the correct models.</P> + +<H2><A name="WorkingwithDropDownChoice-Selectingadefaultchoice"></A>Selecting a default choice</H2> + +<P>If you want to select a default value for the manager, then all you need to do is assign the default manager to the employee and Wicket will take care of the rest:</P> + +<DIV class="code"><DIV class="codeContent"> +<PRE class="code-java"><SPAN class="code-comment">// some add <SPAN class="code-keyword">new</SPAN> employee code +</SPAN>Employee manager = Employee.get(<SPAN class="code-quote">"Eric Cartman"</SPAN>); <SPAN class="code-comment">// gets a manager +</SPAN>Employee newEmployee = <SPAN class="code-keyword">new</SPAN> Employee(); +newEmployee.setManagedBy(manager); + +setResponsePage(<SPAN class="code-keyword">new</SPAN> AssignManagerPage(newEmployee));</PRE> +</DIV></DIV> + +<H2><A name="WorkingwithDropDownChoice-Summary"></A>Summary</H2> + +<P>This concludes the (small) example of using a <TT>DropDownChoice</TT> component correctly. The ideas behind Wicket are perfectly reflected in this component: work with your domain objects, bind them to your components and get on with the rest of your application.</P> + </DIV> + <DIV id="clearer"></DIV> + <DIV id="footer"><SPAN>© Apache Software Foundation</SPAN></DIV> + </DIV> +</DIV> +</BODY> +</HTML>
Modified: wicket/common/site/writing-documentation.html URL: http://svn.apache.org/viewvc/wicket/common/site/writing-documentation.html?rev=618802&r1=618801&r2=618802&view=diff ============================================================================== --- wicket/common/site/writing-documentation.html (original) +++ wicket/common/site/writing-documentation.html Tue Feb 5 14:25:57 2008 @@ -8,12 +8,17 @@ <!--[if lt IE 7]> <style>@import url(style/ie.css);</style> <![endif]--> - <LINK rel="icon" href="http://incubator.apache.org/wicket/favicon.ico"> + <LINK rel="shortcut icon" href="http://wicket.apache.org/favicon.ico" type="image/vnd.microsoft.icon"> +<SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript"></SCRIPT> +<SCRIPT type="text/javascript"> +_uacct = "UA-2350632-1"; +urchinTracker(); +</SCRIPT> <META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD> <BODY> <DIV id="container"> <DIV id="content"> - <DIV id="header"><A href=""><H1 id="logo"><SPAN>Apache Wicket</SPAN></H1></A></DIV> + <DIV id="header"><A href="http://wicket.apache.org/"><H1 id="logo"><SPAN>Apache Wicket</SPAN></H1></A></DIV> <DIV id="navigation"> @@ -23,11 +28,11 @@ <H5><A name="Navigation-Wicket"></A>Wicket</H5> <UL> <LI><A href="index.html" title="Index">Home</A></LI> - <LI><A href="buzz.html" title="Buzz">Buzz</A></LI> <LI><A href="introduction.html" title="Introduction">Introduction</A></LI> - <LI><A href="features.html" title="Features">Features</A></LI> + <LI><A href="vision.html" title="Vision">Vision</A></LI> <LI><A href="planet-wicket.html" title="Planet Wicket">Planet Wicket</A></LI> <LI><A href="community.html" title="Community">Community</A></LI> + <LI><A href="news.html" title="News">News</A></LI> </UL> @@ -36,6 +41,7 @@ <LI><A href="examples.html" title="Examples">Examples</A></LI> <LI><A href="getting-wicket.html" title="Getting Wicket">Getting Wicket</A></LI> <LI><SPAN class="nobr"><A href="http://wicketstuff.org/wicket13/compref/" title="Visit page outside Confluence" rel="nofollow">Components<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><A href="quickstart.html" title="Getting started via a Maven Archetype">QuickStart</A></LI> </UL> @@ -44,7 +50,17 @@ <LI><SPAN class="nobr"><A href="http://cwiki.apache.org/WICKET" title="Visit page outside Confluence" rel="nofollow">Wiki<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> <LI><A href="blogs.html" title="Blogs">Blogs</A></LI> <LI><SPAN class="nobr"><A href="http://cwiki.apache.org/WICKET/reference-library.html" title="Visit page outside Confluence" rel="nofollow">Reference<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> - <LI><A href="vision.html" title="Vision">Vision</A></LI> + <LI><A href="books.html" title="Books">Books</A></LI> + <LI><SPAN class="nobr"><A href="http://people.apache.org/~tobrien/wicket/apidocs/index.html" title="Aggregated JavaDocs generated weekly from trunk" rel="nofollow">JavaDocs<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> +</UL> + + +<H5><A name="Navigation-Releases"></A>Releases</H5> +<UL> + <LI><SPAN class="nobr"><A href="http://www.apache.org/dyn/closer.cgi/wicket/1.3.0" title="Visit page outside Confluence" rel="nofollow">Wicket 1.3<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><SPAN class="nobr"><A href="http://wicket.sf.net/wicket-1.2" title="Visit page outside Confluence" rel="nofollow">Wicket 1.2<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><SPAN class="nobr"><A href="http://wicket.sf.net/wicket-1.1" title="Visit page outside Confluence" rel="nofollow">Wicket 1.1<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><SPAN class="nobr"><A href="http://wicket.sf.net/wicket-1.0" title="Visit page outside Confluence" rel="nofollow">Wicket 1.0<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> </UL> @@ -60,9 +76,15 @@ <LI><A href="" title="Writing documentation">Writing docs</A></LI> <LI><A href="building-from-svn.html" title="Building from SVN">Building</A></LI> </UL> - <DIV id="clearer"></DIV> - <A href="http://incubator.apache.org/projects/wicket"><H3 id="incubator"><SPAN>Now incubating!</SPAN></H3></A> - </DIV> + + +<H5><A name="Navigation-Apache"></A>Apache</H5> +<UL> + <LI><SPAN class="nobr"><A href="http://www.apache.org/" title="Visit page outside Confluence" rel="nofollow">Apache<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><SPAN class="nobr"><A href="http://www.apache.org/foundation/sponsorship.html" title="Visit page outside Confluence" rel="nofollow">Sponsorship<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> + <LI><SPAN class="nobr"><A href="http://apache.org/foundation/thanks.html" title="Visit page outside Confluence" rel="nofollow">Thanks<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> +</UL> + </DIV> <DIV id="contentbody"> <H1><A name="Writingdocumentation-Writingdocumentation"></A>Writing documentation</H1> @@ -78,15 +100,15 @@ <P> <SPAN class="nobr"><A href="http://people.apache.org/~jefft/confluence/" title="Visit page outside Confluence" rel="nofollow">http://people.apache.org/~jefft/confluence/<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></P> -<P>Now the difference kicks in: a small script (attached to the JIRA issue WICKET-25 or one of its subtasks) runs in Martijn Dashorst's crontab and copies the files from Jeff's folders to our /www/incubator.apache.org/wicket folder where the stylesheets are already in place.</P> +<P>Now the difference kicks in: a small script (attached to the JIRA issue WICKET-25 or one of its subtasks) runs in Martijn Dashorst's crontab and copies the files from Jeff's folders to our /www/wicket.apache.org folder where the stylesheets are already in place.</P> <P>This script setup means that any change to the contents of the Wiki is only propagated to our official website in at most an hour (the frequency the scripts run).</P> -<H2><A name="Writingdocumentation-OurWicketincubatorwebsite"></A>Our Wicket incubator website</H2> +<H2><A name="Writingdocumentation-OurWicketwebsite"></A>Our Wicket website</H2> <P>The site is set up as follows: the navigation (the menu on the left) is generated by including the page <A href="navigation.html" title="Navigation">Navigation</A> in the right spot. This means that the site needs to be generated completely when ever that page is modified. Editing the menu is then as simple as editing the <A href="navigation.html" title="Navigation">Navigation</A> page.</P> -<P>Adding pages to the WICKETxSITE website is as simple as adding pages to confluence and providing a link to it.</P> +<P>Adding pages to the WICKETxSITE website is as simple as <SPAN class="nobr"><A href="http://cwiki.apache.org/confluence/spaces/browsespace.action?key=WICKETxSITE" title="Visit page outside Confluence" rel="nofollow">adding pages to confluence<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN> and providing a link to it.</P> </DIV> <DIV id="clearer"></DIV> <DIV id="footer"><SPAN>© Apache Software Foundation</SPAN></DIV>
