You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by bu...@apache.org on 2014/03/20 18:21:27 UTC

svn commit: r902559 [2/4] - in /websites/production/tapestry/content: ./ cache/

Modified: websites/production/tapestry/content/documentation.html
==============================================================================
--- websites/production/tapestry/content/documentation.html (original)
+++ websites/production/tapestry/content/documentation.html Thu Mar 20 17:21:25 2014
@@ -64,7 +64,7 @@
 <div id="ConfluenceContent"><div style="float:right;margin-left:1em">
 <h2><a shape="rect" name="Documentation-AllTopics"></a>All Topics</h2>
 
-<ul class="childpages-macro"><li><a shape="rect" href="introduction.html">Introduction</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="principles.html">Principles</a></li><li><a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a><ul class="childpages-macro"><li><a shape="rect" href="dependencies-tools-and-plugins.html">Dependencies, Tools and Plugins</a></li><li><a shape="rect" href="creating-the-skeleton-application.html">Creating The Skeleton Application</a></li><li><a shape="rect" href="loading-the-project-into-eclipse.html">Loading the Project Into Eclipse</a></li><li><a shape="rect" href="exploring-the-project.html">Exploring the Project</a></li><li><a shape="rect" href="implementing-the-hi-lo-guessing-game.html">Implementing the Hi-Lo Guessing Game</a></li><li><a shape="rect" href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To Create User Forms</a></li><li><a shape="rect" href="using-t
 apestry-with-hibernate.html">Using Tapestry With Hibernate</a></li></ul></li><li><a shape="rect" href="user-guide.html">User Guide</a><ul class="childpages-macro"><li><a shape="rect" href="project-layout.html">Project Layout</a></li><li><a shape="rect" href="configuration.html">Configuration</a></li><li><a shape="rect" href="class-reloading.html">Class Reloading</a></li><li><a shape="rect" href="component-reference.html">Component Reference</a></li><li><a shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" href="component-classes.html">Component Classes</a></li><li><a shape="rect" href="component-templates.html">Component Templates</a></li><li><a shape="rect" href="property-expressions.html">Property Expressions</a></li><li><a shape="rect" href="component-parameters.html">Component Parameters</a></li><li><a shape="rect" href="type-coercion.html">Type Coercion</a></li><li><a shape="rect" href="layout-component.html">Layout Component</a></li><li><a shape="rect
 " href="component-mixins.html">Component Mixins</a><ul class="childpages-macro"><li><a shape="rect" href="built-in-mixins.html">Built-in Mixins</a></li></ul></li><li><a shape="rect" href="page-navigation.html">Page Navigation</a></li><li><a shape="rect" href="localization.html">Localization</a></li><li><a shape="rect" href="page-life-cycle.html">Page Life Cycle</a></li><li><a shape="rect" href="request-processing.html">Request Processing</a></li><li><a shape="rect" href="component-rendering.html">Component Rendering</a></li><li><a shape="rect" href="component-events.html">Component Events</a></li><li><a shape="rect" href="url-rewriting.html">URL rewriting</a></li><li><a shape="rect" href="dom.html">DOM</a></li><li><a shape="rect" href="response-compression.html">Response Compression</a></li><li><a shape="rect" href="security.html">Security</a></li><li><a shape="rect" href="https.html">HTTPS</a></li><li><a shape="rect" href="content-type-and-markup.html">Content Type and Markup</a></
 li><li><a shape="rect" href="persistent-page-data.html">Persistent Page Data</a></li><li><a shape="rect" href="session-storage.html">Session Storage</a><ul class="childpages-macro"><li><a shape="rect" href="clustering-issues.html">Clustering Issues</a></li></ul></li><li><a shape="rect" href="injection.html">Injection</a></li><li><a shape="rect" href="environmental-services.html">Environmental Services</a></li><li><a shape="rect" href="javascript.html">JavaScript</a></li><li><a shape="rect" href="ajax-and-zones.html">Ajax and Zones</a></li><li><a shape="rect" href="css.html">CSS</a></li><li><a shape="rect" href="assets.html">Assets</a></li><li><a shape="rect" href="forms-and-validation.html">Forms and Validation</a></li><li><a shape="rect" href="beaneditform-guide.html">BeanEditForm Guide</a></li><li><a shape="rect" href="uploading-files.html">Uploading Files</a></li><li><a shape="rect" href="logging.html">Logging</a></li><li><a shape="rect" href="unit-testing-pages-or-components.htm
 l">Unit testing pages or components</a></li><li><a shape="rect" href="integration-testing.html">Integration Testing</a></li><li><a shape="rect" href="service-status.html">Service Status</a></li><li><a shape="rect" href="modules.html">Modules</a><ul class="childpages-macro"><li><a shape="rect" href="built-in-modules.html">Built In Modules</a></li><li><a shape="rect" href="third-party-modules.html">Third Party Modules</a></li></ul></li><li><a shape="rect" href="ioc.html">IoC</a><ul class="childpages-macro"><li><a shape="rect" href="tapestry-ioc-overview.html">Tapestry IoC Overview</a></li><li><a shape="rect" href="tapestry-ioc-modules.html">Tapestry IoC Modules</a></li><li><a shape="rect" href="defining-tapestry-ioc-services.html">Defining Tapestry IOC Services</a></li><li><a shape="rect" href="service-advisors.html">Service Advisors</a></li><li><a shape="rect" href="tapestry-ioc-decorators.html">Tapestry IoC Decorators</a></li><li><a shape="rect" href="tapestry-ioc-configuration.html
 ">Tapestry IoC Configuration</a></li><li><a shape="rect" href="case-insensitivity.html">Case Insensitivity</a></li><li><a shape="rect" href="autoloading-modules.html">Autoloading Modules</a></li><li><a shape="rect" href="service-implementation-reloading.html">Service Implementation Reloading</a></li><li><a shape="rect" href="ordering-by-constraints.html">Ordering by Constraints</a></li><li><a shape="rect" href="symbols.html">Symbols</a></li><li><a shape="rect" href="chainbuilder-service.html">ChainBuilder Service</a></li><li><a shape="rect" href="pipelinebuilder-service.html">PipelineBuilder Service</a></li><li><a shape="rect" href="shadowbuilder-service.html">ShadowBuilder Service</a></li><li><a shape="rect" href="strategybuilder-service.html">StrategyBuilder Service</a></li><li><a shape="rect" href="injection-in-detail.html">Injection in Detail</a></li><li><a shape="rect" href="object-providers.html">Object Providers</a></li><li><a shape="rect" href="service-serialization.html">Se
 rvice Serialization</a></li><li><a shape="rect" href="typecoercer-service.html">TypeCoercer Service</a></li><li><a shape="rect" href="starting-the-ioc-registry.html">Starting the IoC Registry</a></li><li><a shape="rect" href="registry-startup.html">Registry Startup</a></li><li><a shape="rect" href="parallel-execution.html">Parallel Execution</a></li><li><a shape="rect" href="logging-in-tapestry.html">Logging in Tapestry</a></li><li><a shape="rect" href="using-jsr-330-standard-annotations.html">Using JSR 330 standard annotations</a></li></ul></li><li><a shape="rect" href="hibernate-core.html">Hibernate - Core</a><ul class="childpages-macro"><li><a shape="rect" href="hibernate-core-conf.html">Hibernate - Core - Conf</a></li><li><a shape="rect" href="hibernate.html">Hibernate</a></li></ul></li><li><a shape="rect" href="integrating-with-spring-framework.html">Integrating with Spring Framework</a></li><li><a shape="rect" href="bean-validation.html">Bean Validation</a></li><li><a shape="r
 ect" href="component-report.html">Component Report</a></li><li><a shape="rect" href="aliases.html">Aliases</a></li><li><a shape="rect" href="integrating-with-jpa.html">Integrating with JPA</a></li></ul></li><li><a shape="rect" href="cheat-sheets.html">Cheat Sheets</a><ul class="childpages-macro"><li><a shape="rect" href="application-module-class-cheat-sheet.html">Application Module Class Cheat Sheet</a></li><li><a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a></li><li><a shape="rect" href="tapestry-for-jsf-users.html">Tapestry for JSF Users</a></li></ul></li><li><a shape="rect" href="cookbook.html">Cookbook</a><ul class="childpages-macro"><li><a shape="rect" href="default-parameter.html">Default Parameter</a></li><li><a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a></li><li><a shape="rect" href="supporting-informal-parameters.html">Supporting Informal Parameters</a></li><li><a shape="rect" href="component-librarie
 s.html">Component Libraries</a></li><li><a shape="rect" href="switching-cases.html">Switching Cases</a></li><li><a shape="rect" href="enum-parameter-recipe.html">Enum Parameter Recipe</a></li><li><a shape="rect" href="error-page-recipe.html">Error Page Recipe</a></li><li><a shape="rect" href="extending-the-if-component.html">Extending the If Component</a></li><li><a shape="rect" href="meta-programming-page-content.html">Meta-Programming Page Content</a></li><li><a shape="rect" href="using-select-with-a-list.html">Using Select With a List</a></li><li><a shape="rect" href="ioc-cookbook.html">IoC cookbook</a><ul class="childpages-macro"><li><a shape="rect" href="ioc-cookbook-basic-services-and-injection.html">IoC Cookbook - Basic Services and Injection</a></li><li><a shape="rect" href="ioc-cookbook-overriding-ioc-services.html">IoC Cookbook - Overriding IoC Services</a></li><li><a shape="rect" href="ioc-cookbook-patterns.html">IoC Cookbook - Patterns</a></li><li><a shape="rect" href="i
 oc-cookbook-service-configurations.html">IoC cookbook - Service Configurations</a></li></ul></li><li><a shape="rect" href="performance-and-clustering.html">Performance and Clustering</a></li></ul></li><li><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a><ul class="childpages-macro"><li><a shape="rect" href="general-questions.html">General Questions</a></li><li><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a></li><li><a shape="rect" href="page-and-component-classes-faq.html">Page And Component Classes FAQ</a></li><li><a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></li><li><a shape="rect" href="beaneditform-faq.html">BeanEditForm FAQ</a></li><li><a shape="rect" href="link-components-faq.html">Link Components FAQ</a></li><li><a shape="rect" href="component-events-faq.html">Component Events FAQ</a></li><li><a shape="rect" href="javascript-faq.html">JavaScript FAQ</a></li><l
 i><a shape="rect" href="ajax-components-faq.html">Ajax Components FAQ</a></li><li><a shape="rect" href="injection-faq.html">Injection FAQ</a></li><li><a shape="rect" href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control FAQ</a></li><li><a shape="rect" href="security-faq.html">Security FAQ</a></li><li><a shape="rect" href="integration-with-existing-applications.html">Integration with existing applications</a></li><li><a shape="rect" href="request-processing-faq.html">Request Processing FAQ</a></li><li><a shape="rect" href="limitations.html">Limitations</a></li><li><a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a></li><li><a shape="rect" href="hibernate-support-faq.html">Hibernate Support FAQ</a></li><li><a shape="rect" href="maven-support-faq.html">Maven Support FAQ</a></li><li><a shape="rect" href="release-upgrade-faq.html">Release Upgrade FAQ</a></li></ul></li><li><a shape="rect" href="release-notes.html">Release Notes</a><ul class="child
 pages-macro"><li><a shape="rect" href="how-to-upgrade.html">How to Upgrade</a></li><li><a shape="rect" href="release-notes-50.html">Release Notes 5.0</a></li><li><a shape="rect" href="release-notes-51.html">Release Notes 5.1</a></li><li><a shape="rect" href="release-notes-52.html">Release Notes 5.2</a><ul class="childpages-macro"><li><a shape="rect" href="release-notes-520.html">Release Notes 5.2.0</a></li><li><a shape="rect" href="release-notes-521.html">Release Notes 5.2.1</a></li><li><a shape="rect" href="release-notes-522.html">Release Notes 5.2.2</a></li><li><a shape="rect" href="release-notes-523.html">Release Notes 5.2.3</a></li><li><a shape="rect" href="release-notes-524.html">Release Notes 5.2.4</a></li><li><a shape="rect" href="release-notes-525.html">Release Notes 5.2.5</a></li><li><a shape="rect" href="release-notes-526.html">Release Notes 5.2.6</a></li></ul></li><li><a shape="rect" href="release-notes-53.html">Release Notes 5.3</a></li><li><a shape="rect" href="release-
 notes-531.html">Release Notes 5.3.1</a></li><li><a shape="rect" href="release-notes-532.html">Release Notes 5.3.2</a></li><li><a shape="rect" href="release-notes-533.html">Release Notes 5.3.3</a></li><li><a shape="rect" href="release-notes-534.html">Release Notes 5.3.4</a></li><li><a shape="rect" href="release-notes-535.html">Release Notes 5.3.5</a></li><li><a shape="rect" href="release-notes-536.html">Release Notes 5.3.6</a></li><li><a shape="rect" href="release-notes-537.html">Release Notes 5.3.7</a></li><li><a shape="rect" href="release-notes-54.html">Release Notes 5.4</a></li></ul></li><li><a shape="rect" href="javascript-rewrite.html">JavaScript Rewrite</a></li><li><a shape="rect" href="support.html">Support</a></li><li><a shape="rect" href="developer-information.html">Developer Information</a><ul class="childpages-macro"><li><a shape="rect" href="building-tapestry-from-source.html">Building Tapestry from Source</a></li><li><a shape="rect" href="confluence-site-setup.html">Conf
 luence Site Setup</a><ul class="childpages-macro"><li><a shape="rect" href="since-and-deprecated-user-macros.html">Since and Deprecated User Macros</a></li></ul></li><li><a shape="rect" href="developer-bible.html">Developer Bible</a></li><li><a shape="rect" href="release-process.html">Release Process</a></li><li><a shape="rect" href="the-tapestry-jail.html">The tapestry jail</a></li><li><a shape="rect" href="version-numbers.html">Version Numbers</a></li></ul></li></ul></div><p>Welcome to the Tapestry 5 Documentation. A rich collection of guides is available to teach beginners the basics and help even experienced developers deepen their understanding of Tapestry's power. <em>Code less, deliver more!</em></p><h1 id="Documentation-Highlights">Highlights</h1><p>These are the most useful starting points for common needs.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="introduction.html">Introdu
 ction</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An overview of Tapestry's general approach and philosophy</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="getting-started.html">Getting Started</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A quick guide to creating your first Tapestry project, using Maven</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Picks up where <em>Getting Started</em> leaves off, explaining in greater detail how Tapestry works</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="user-guide.html">User Guide</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Detailed articles on every Tapestry feature</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
 href="community.html">Community</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Getting support, mailing lists, JIRA, outside resources, and access to the source</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cookbook.html">Cookbook</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Guides to doing common things with Tapestry</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><strong><a shape="rect" href="frequently-asked-questions.html">FAQ</a></strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A quick place to check for common problems and solutions</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A concise guide to component classes, methods and annotations</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceT
 d"><p><a shape="rect" class="external-link" href="http://refcardz.dzone.com/refcardz/apache-tapestry-50?oid=hom7948" >Refcard</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A color, six page foldout guide to Tapestry 5.0 (PDF)</p></td></tr></tbody></table></div><h1 id="Documentation-APIandComponentReference">API and Component Reference</h1><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>API (Javadoc):</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>5.0<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.1<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.2<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" class="external-link" href="http://
 tapestry.apache.org/5.4/">5.4 (beta)</a></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Component Reference:</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>5.0<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.1<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.2<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="component-reference.html">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">same as current</td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Release Notes:</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-50.html">5.0</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-51.html">5.1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-52.html">5.2</a></p></td><td colspan="1
 " rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes.html">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">not yet available</td></tr></tbody></table></div><p><sup>1</sup> needs to be built manually from archived sources at <a shape="rect" class="external-link" href="http://archive.apache.org/dist/tapestry/">http://archive.apache.org/dist/tapestry/</a>.</p><h1 id="Documentation-UserGuide">User Guide</h1><p><span class="confluence-anchor-link" id="Documentation-userguide"></span>The <a shape="rect" href="user-guide.html">User Guide</a> consists of over 75 pages of detailed information on the concepts behind Tapestry and instructions on how to use this powerful tool. Highlights include:</p><ul><li><a shape="rect" href="javascript.html">JavaScript</a> and <a shape="rect" href="ajax-and-zones.html">Ajax and Zones</a> describe Tapestry's built-in support for dynamic in-page behavior.</li><li><a shape="rect" href="integrating-with-spring-f
 ramework.html">Integrating with Spring Framework</a> describes how to integrate Spring into your Tapestry application.</li><li><a shape="rect" href="hibernate.html">Tapestry/Hibernate Integration Library</a> provides out-of-the-box support for using Hibernate 3.</li><li><a shape="rect" href="bean-validation.html">JSR 303: Bean Validation</a> shows how to use standard annotations for validation</li><li><a shape="rect" href="integration-testing.html">Integration Testing</a> shows how to test your application with Selenium.</li></ul><p><a shape="rect" href="user-guide.html">More topics</a>...</p><h1 id="Documentation-BlogsbyTapestryDevelopersandtheCommunity">Blogs by Tapestry Developers and the Community</h1><ul><li><a shape="rect" class="external-link" href="http://tapestryjava.blogspot.com/" >Tapestry Central</a> is Howard Lewis Ship's blog. As the creator of Tapestry, he provides valuable insights into Tapestry's latest features and future directions.</li><li><a shape="rect" class="
 external-link" href="http://blog.tapestry5.de/" >Igor Drobiazko's blog</a> (committer &amp; PMC) contains news on Tapestry development and will guide you through some of the most exciting parts of Tapestry.</li><li><a shape="rect" class="external-link" href="http://tawus.wordpress.com/" >Java Magic</a> (by Taha Hafeez, committer) has a series of tutorials illustrating some of the more advanced Tapestry and Plastic features and techniques.</li><li><a shape="rect" class="external-link" href="http://blog.andyhot.gr/tag/tapestry/" >Andreas Andreou's blog</a> (committer &amp; PMC) has news and commentary on Tapestry.</li><li><a shape="rect" class="external-link" href="http://spreadthesource.com/" >Spread the Source blog</a> (Christophe Cordenier and Robin Komiwes) has news and advanced tutorials on Tapestry 5.</li></ul><h1 id="Documentation-BooksonTapestry">Books on Tapestry</h1><p>There are at least 8 published <a shape="rect" href="books.html">books on Tapestry</a>, including two on Ta
 pestry 5 &#8212; and more on the way.</p><h1 id="Documentation-ArticlesonTapestry">Articles on Tapestry</h1><ul><li>This <a shape="rect" class="external-link" href="http://www.laliluna.de/articles/the-web-framework-evaluation.html" >eBook</a> published in 2009 contains a <a shape="rect" class="external-link" href="http://www.laliluna.de/articles/2009/08/14/tapestry-web-framework-evaluation-and-test.html" >good introduction and analysis of Tapestry 5</a></li></ul><ul><li><a shape="rect" class="external-link" href="http://www.infoq.com/articles/tapestry5-intro" >Tapestry 5 for Nonbelievers</a> will convince the skeptical why Tapestry is the best web framework.</li></ul><p><a shape="rect" href="articles.html">More articles</a>...</p><h1 id="Documentation-TapestryPresentations">Tapestry Presentations</h1><ul><li>Mark W. Shead's <a shape="rect" class="external-link" href="http://blog.markwshead.com/900/tapestry-5-10-minute-demo/" >10 Minute Demo</a></li><li>H. L. Ship's <a shape="rect" c
 lass="external-link" href="https://www.youtube.com/watch?v=5BGt7eMFC20" >Tapestry 5.4 - Bootstrap-enhanced Exception Reporting</a></li><li><a shape="rect" class="external-link" href="http://jazoon.com/Portals/0/Content/slides/th_a7_1130-1220_drobiazko.pdf" >JavaServer Faces 2.0 vs. Tapestry 5</a> (PDF) A Head-to-Head Comparison by Igor Drobiazko at Jazoon 2010</li><li><a shape="rect" class="external-link" href="http://www.parleys.com/#st=5&amp;sl=5&amp;id=1700" >Tapestry 5: Java power, Scripting Ease</a> (VIDEO) by Howard Lewis Ship at Devoxx 2009</li></ul><p><a shape="rect" href="presentations.html">More presentations</a> ...</p><h1 id="Documentation-TapestryWikis">Tapestry Wikis</h1><ul><li><a shape="rect" class="external-link" href="http://wiki.apache.org/tapestry/FrontPage">Tapestry Community Wiki</a> (Moin Moin) contains a lot of user-generated information on different Tapestry use cases.</li><li><a shape="rect" href="https://cwiki.apache.org/confluence/x/VCFkAQ">Documentation 
 Source wiki</a> (Confluence) &#8211; the wiki used as the content editor for the official Tapestry documentation</li></ul><h1 id="Documentation-Gettinghelp">Getting help</h1><p>The primary method of support is the <a shape="rect" href="mailing-lists.html">Tapestry Mailing Lists</a>.</p><p>In addition, there are occasionally questions and answers about Tapestry at <a shape="rect" class="external-link" href="http://stackoverflow.com/questions/tagged/tapestry" >Stack Overflow</a>.</p><h1 id="Documentation-TheDeveloperCorner">The Developer Corner</h1><p><a shape="rect" href="developer-information.html">Developer Information</a> gives information needed by the Tapestry developers</p><p>&#160;</p></div>
+<ul class="childpages-macro"><li><a shape="rect" href="introduction.html">Introduction</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="principles.html">Principles</a></li><li><a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a><ul class="childpages-macro"><li><a shape="rect" href="dependencies-tools-and-plugins.html">Dependencies, Tools and Plugins</a></li><li><a shape="rect" href="creating-the-skeleton-application.html">Creating The Skeleton Application</a></li><li><a shape="rect" href="loading-the-project-into-eclipse.html">Loading the Project Into Eclipse</a></li><li><a shape="rect" href="exploring-the-project.html">Exploring the Project</a></li><li><a shape="rect" href="implementing-the-hi-lo-guessing-game.html">Implementing the Hi-Lo Guessing Game</a></li><li><a shape="rect" href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To Create User Forms</a></li><li><a shape="rect" href="using-t
 apestry-with-hibernate.html">Using Tapestry With Hibernate</a></li></ul></li><li><a shape="rect" href="user-guide.html">User Guide</a><ul class="childpages-macro"><li><a shape="rect" href="project-layout.html">Project Layout</a></li><li><a shape="rect" href="configuration.html">Configuration</a></li><li><a shape="rect" href="class-reloading.html">Class Reloading</a></li><li><a shape="rect" href="component-reference.html">Component Reference</a></li><li><a shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" href="component-classes.html">Component Classes</a></li><li><a shape="rect" href="component-templates.html">Component Templates</a></li><li><a shape="rect" href="property-expressions.html">Property Expressions</a></li><li><a shape="rect" href="component-parameters.html">Component Parameters</a></li><li><a shape="rect" href="type-coercion.html">Type Coercion</a></li><li><a shape="rect" href="layout-component.html">Layout Component</a></li><li><a shape="rect
 " href="component-mixins.html">Component Mixins</a><ul class="childpages-macro"><li><a shape="rect" href="built-in-mixins.html">Built-in Mixins</a></li></ul></li><li><a shape="rect" href="page-navigation.html">Page Navigation</a></li><li><a shape="rect" href="localization.html">Localization</a></li><li><a shape="rect" href="page-life-cycle.html">Page Life Cycle</a></li><li><a shape="rect" href="request-processing.html">Request Processing</a></li><li><a shape="rect" href="component-rendering.html">Component Rendering</a></li><li><a shape="rect" href="component-events.html">Component Events</a></li><li><a shape="rect" href="url-rewriting.html">URL rewriting</a></li><li><a shape="rect" href="dom.html">DOM</a></li><li><a shape="rect" href="response-compression.html">Response Compression</a></li><li><a shape="rect" href="security.html">Security</a></li><li><a shape="rect" href="https.html">HTTPS</a></li><li><a shape="rect" href="content-type-and-markup.html">Content Type and Markup</a></
 li><li><a shape="rect" href="persistent-page-data.html">Persistent Page Data</a></li><li><a shape="rect" href="session-storage.html">Session Storage</a><ul class="childpages-macro"><li><a shape="rect" href="clustering-issues.html">Clustering Issues</a></li></ul></li><li><a shape="rect" href="injection.html">Injection</a></li><li><a shape="rect" href="environmental-services.html">Environmental Services</a></li><li><a shape="rect" href="javascript.html">JavaScript</a></li><li><a shape="rect" href="ajax-and-zones.html">Ajax and Zones</a></li><li><a shape="rect" href="css.html">CSS</a></li><li><a shape="rect" href="assets.html">Assets</a></li><li><a shape="rect" href="forms-and-validation.html">Forms and Validation</a></li><li><a shape="rect" href="beaneditform-guide.html">BeanEditForm Guide</a></li><li><a shape="rect" href="uploading-files.html">Uploading Files</a></li><li><a shape="rect" href="logging.html">Logging</a></li><li><a shape="rect" href="unit-testing-pages-or-components.htm
 l">Unit testing pages or components</a></li><li><a shape="rect" href="integration-testing.html">Integration Testing</a></li><li><a shape="rect" href="service-status.html">Service Status</a></li><li><a shape="rect" href="modules.html">Modules</a><ul class="childpages-macro"><li><a shape="rect" href="built-in-modules.html">Built In Modules</a></li><li><a shape="rect" href="third-party-modules.html">Third Party Modules</a></li></ul></li><li><a shape="rect" href="ioc.html">IoC</a><ul class="childpages-macro"><li><a shape="rect" href="tapestry-ioc-overview.html">Tapestry IoC Overview</a></li><li><a shape="rect" href="tapestry-ioc-modules.html">Tapestry IoC Modules</a></li><li><a shape="rect" href="defining-tapestry-ioc-services.html">Defining Tapestry IOC Services</a></li><li><a shape="rect" href="service-advisors.html">Service Advisors</a></li><li><a shape="rect" href="tapestry-ioc-decorators.html">Tapestry IoC Decorators</a></li><li><a shape="rect" href="tapestry-ioc-configuration.html
 ">Tapestry IoC Configuration</a></li><li><a shape="rect" href="case-insensitivity.html">Case Insensitivity</a></li><li><a shape="rect" href="autoloading-modules.html">Autoloading Modules</a></li><li><a shape="rect" href="service-implementation-reloading.html">Service Implementation Reloading</a></li><li><a shape="rect" href="ordering-by-constraints.html">Ordering by Constraints</a></li><li><a shape="rect" href="symbols.html">Symbols</a></li><li><a shape="rect" href="chainbuilder-service.html">ChainBuilder Service</a></li><li><a shape="rect" href="pipelinebuilder-service.html">PipelineBuilder Service</a></li><li><a shape="rect" href="shadowbuilder-service.html">ShadowBuilder Service</a></li><li><a shape="rect" href="strategybuilder-service.html">StrategyBuilder Service</a></li><li><a shape="rect" href="injection-in-detail.html">Injection in Detail</a></li><li><a shape="rect" href="object-providers.html">Object Providers</a></li><li><a shape="rect" href="service-serialization.html">Se
 rvice Serialization</a></li><li><a shape="rect" href="typecoercer-service.html">TypeCoercer Service</a></li><li><a shape="rect" href="starting-the-ioc-registry.html">Starting the IoC Registry</a></li><li><a shape="rect" href="registry-startup.html">Registry Startup</a></li><li><a shape="rect" href="parallel-execution.html">Parallel Execution</a></li><li><a shape="rect" href="logging-in-tapestry.html">Logging in Tapestry</a></li><li><a shape="rect" href="using-jsr-330-standard-annotations.html">Using JSR 330 standard annotations</a></li></ul></li><li><a shape="rect" href="hibernate-core.html">Hibernate - Core</a><ul class="childpages-macro"><li><a shape="rect" href="hibernate-core-conf.html">Hibernate - Core - Conf</a></li><li><a shape="rect" href="hibernate.html">Hibernate</a></li></ul></li><li><a shape="rect" href="integrating-with-spring-framework.html">Integrating with Spring Framework</a></li><li><a shape="rect" href="bean-validation.html">Bean Validation</a></li><li><a shape="r
 ect" href="component-report.html">Component Report</a></li><li><a shape="rect" href="aliases.html">Aliases</a></li><li><a shape="rect" href="integrating-with-jpa.html">Integrating with JPA</a></li></ul></li><li><a shape="rect" href="cheat-sheets.html">Cheat Sheets</a><ul class="childpages-macro"><li><a shape="rect" href="application-module-class-cheat-sheet.html">Application Module Class Cheat Sheet</a></li><li><a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a></li><li><a shape="rect" href="tapestry-for-jsf-users.html">Tapestry for JSF Users</a></li></ul></li><li><a shape="rect" href="cookbook.html">Cookbook</a><ul class="childpages-macro"><li><a shape="rect" href="default-parameter.html">Default Parameter</a></li><li><a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a></li><li><a shape="rect" href="error-page-recipe.html">Error Page Recipe</a></li><li><a shape="rect" href="supporting-informal-parameters.html">Support
 ing Informal Parameters</a></li><li><a shape="rect" href="component-libraries.html">Component Libraries</a></li><li><a shape="rect" href="switching-cases.html">Switching Cases</a></li><li><a shape="rect" href="enum-parameter-recipe.html">Enum Parameter Recipe</a></li><li><a shape="rect" href="extending-the-if-component.html">Extending the If Component</a></li><li><a shape="rect" href="meta-programming-page-content.html">Meta-Programming Page Content</a></li><li><a shape="rect" href="using-select-with-a-list.html">Using Select With a List</a></li><li><a shape="rect" href="ioc-cookbook.html">IoC cookbook</a><ul class="childpages-macro"><li><a shape="rect" href="ioc-cookbook-basic-services-and-injection.html">IoC Cookbook - Basic Services and Injection</a></li><li><a shape="rect" href="ioc-cookbook-overriding-ioc-services.html">IoC Cookbook - Overriding IoC Services</a></li><li><a shape="rect" href="ioc-cookbook-patterns.html">IoC Cookbook - Patterns</a></li><li><a shape="rect" href="i
 oc-cookbook-service-configurations.html">IoC cookbook - Service Configurations</a></li></ul></li><li><a shape="rect" href="performance-and-clustering.html">Performance and Clustering</a></li></ul></li><li><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a><ul class="childpages-macro"><li><a shape="rect" href="general-questions.html">General Questions</a></li><li><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a></li><li><a shape="rect" href="page-and-component-classes-faq.html">Page And Component Classes FAQ</a></li><li><a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></li><li><a shape="rect" href="beaneditform-faq.html">BeanEditForm FAQ</a></li><li><a shape="rect" href="link-components-faq.html">Link Components FAQ</a></li><li><a shape="rect" href="component-events-faq.html">Component Events FAQ</a></li><li><a shape="rect" href="javascript-faq.html">JavaScript FAQ</a></li><l
 i><a shape="rect" href="ajax-components-faq.html">Ajax Components FAQ</a></li><li><a shape="rect" href="injection-faq.html">Injection FAQ</a></li><li><a shape="rect" href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control FAQ</a></li><li><a shape="rect" href="security-faq.html">Security FAQ</a></li><li><a shape="rect" href="integration-with-existing-applications.html">Integration with existing applications</a></li><li><a shape="rect" href="request-processing-faq.html">Request Processing FAQ</a></li><li><a shape="rect" href="limitations.html">Limitations</a></li><li><a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a></li><li><a shape="rect" href="hibernate-support-faq.html">Hibernate Support FAQ</a></li><li><a shape="rect" href="maven-support-faq.html">Maven Support FAQ</a></li><li><a shape="rect" href="release-upgrade-faq.html">Release Upgrade FAQ</a></li></ul></li><li><a shape="rect" href="release-notes.html">Release Notes</a><ul class="child
 pages-macro"><li><a shape="rect" href="how-to-upgrade.html">How to Upgrade</a></li><li><a shape="rect" href="release-notes-50.html">Release Notes 5.0</a></li><li><a shape="rect" href="release-notes-51.html">Release Notes 5.1</a></li><li><a shape="rect" href="release-notes-52.html">Release Notes 5.2</a><ul class="childpages-macro"><li><a shape="rect" href="release-notes-520.html">Release Notes 5.2.0</a></li><li><a shape="rect" href="release-notes-521.html">Release Notes 5.2.1</a></li><li><a shape="rect" href="release-notes-522.html">Release Notes 5.2.2</a></li><li><a shape="rect" href="release-notes-523.html">Release Notes 5.2.3</a></li><li><a shape="rect" href="release-notes-524.html">Release Notes 5.2.4</a></li><li><a shape="rect" href="release-notes-525.html">Release Notes 5.2.5</a></li><li><a shape="rect" href="release-notes-526.html">Release Notes 5.2.6</a></li></ul></li><li><a shape="rect" href="release-notes-53.html">Release Notes 5.3</a></li><li><a shape="rect" href="release-
 notes-531.html">Release Notes 5.3.1</a></li><li><a shape="rect" href="release-notes-532.html">Release Notes 5.3.2</a></li><li><a shape="rect" href="release-notes-533.html">Release Notes 5.3.3</a></li><li><a shape="rect" href="release-notes-534.html">Release Notes 5.3.4</a></li><li><a shape="rect" href="release-notes-535.html">Release Notes 5.3.5</a></li><li><a shape="rect" href="release-notes-536.html">Release Notes 5.3.6</a></li><li><a shape="rect" href="release-notes-537.html">Release Notes 5.3.7</a></li><li><a shape="rect" href="release-notes-54.html">Release Notes 5.4</a></li></ul></li><li><a shape="rect" href="javascript-rewrite.html">JavaScript Rewrite</a></li><li><a shape="rect" href="support.html">Support</a></li><li><a shape="rect" href="developer-information.html">Developer Information</a><ul class="childpages-macro"><li><a shape="rect" href="building-tapestry-from-source.html">Building Tapestry from Source</a></li><li><a shape="rect" href="confluence-site-setup.html">Conf
 luence Site Setup</a><ul class="childpages-macro"><li><a shape="rect" href="since-and-deprecated-user-macros.html">Since and Deprecated User Macros</a></li></ul></li><li><a shape="rect" href="developer-bible.html">Developer Bible</a></li><li><a shape="rect" href="release-process.html">Release Process</a></li><li><a shape="rect" href="the-tapestry-jail.html">The tapestry jail</a></li><li><a shape="rect" href="version-numbers.html">Version Numbers</a></li></ul></li></ul></div><p>Welcome to the Tapestry 5 Documentation. A rich collection of guides is available to teach beginners the basics and help even experienced developers deepen their understanding of Tapestry's power. <em>Code less, deliver more!</em></p><h1 id="Documentation-Highlights">Highlights</h1><p>These are the most useful starting points for common needs.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="introduction.html">Introdu
 ction</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An overview of Tapestry's general approach and philosophy</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="getting-started.html">Getting Started</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A quick guide to creating your first Tapestry project, using Maven</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Picks up where <em>Getting Started</em> leaves off, explaining in greater detail how Tapestry works</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="user-guide.html">User Guide</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Detailed articles on every Tapestry feature</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
 href="community.html">Community</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Getting support, mailing lists, JIRA, outside resources, and access to the source</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cookbook.html">Cookbook</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Guides to doing common things with Tapestry</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><strong><a shape="rect" href="frequently-asked-questions.html">FAQ</a></strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A quick place to check for common problems and solutions</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A concise guide to component classes, methods and annotations</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceT
 d"><p><a shape="rect" class="external-link" href="http://refcardz.dzone.com/refcardz/apache-tapestry-50?oid=hom7948" >Refcard</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A color, six page foldout guide to Tapestry 5.0 (PDF)</p></td></tr></tbody></table></div><h1 id="Documentation-APIandComponentReference">API and Component Reference</h1><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>API (Javadoc):</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>5.0<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.1<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.2<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" class="external-link" href="http://
 tapestry.apache.org/5.4/">5.4 (beta)</a></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Component Reference:</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>5.0<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.1<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.2<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="component-reference.html">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">same as current</td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Release Notes:</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-50.html">5.0</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-51.html">5.1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-52.html">5.2</a></p></td><td colspan="1
 " rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes.html">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">not yet available</td></tr></tbody></table></div><p><sup>1</sup> needs to be built manually from archived sources at <a shape="rect" class="external-link" href="http://archive.apache.org/dist/tapestry/">http://archive.apache.org/dist/tapestry/</a>.</p><h1 id="Documentation-UserGuide">User Guide</h1><p><span class="confluence-anchor-link" id="Documentation-userguide"></span>The <a shape="rect" href="user-guide.html">User Guide</a> consists of over 75 pages of detailed information on the concepts behind Tapestry and instructions on how to use this powerful tool. Highlights include:</p><ul><li><a shape="rect" href="javascript.html">JavaScript</a> and <a shape="rect" href="ajax-and-zones.html">Ajax and Zones</a> describe Tapestry's built-in support for dynamic in-page behavior.</li><li><a shape="rect" href="integrating-with-spring-f
 ramework.html">Integrating with Spring Framework</a> describes how to integrate Spring into your Tapestry application.</li><li><a shape="rect" href="hibernate.html">Tapestry/Hibernate Integration Library</a> provides out-of-the-box support for using Hibernate 3.</li><li><a shape="rect" href="bean-validation.html">JSR 303: Bean Validation</a> shows how to use standard annotations for validation</li><li><a shape="rect" href="integration-testing.html">Integration Testing</a> shows how to test your application with Selenium.</li></ul><p><a shape="rect" href="user-guide.html">More topics</a>...</p><h1 id="Documentation-BlogsbyTapestryDevelopersandtheCommunity">Blogs by Tapestry Developers and the Community</h1><ul><li><a shape="rect" class="external-link" href="http://tapestryjava.blogspot.com/" >Tapestry Central</a> is Howard Lewis Ship's blog. As the creator of Tapestry, he provides valuable insights into Tapestry's latest features and future directions.</li><li><a shape="rect" class="
 external-link" href="http://blog.tapestry5.de/" >Igor Drobiazko's blog</a> (committer &amp; PMC) contains news on Tapestry development and will guide you through some of the most exciting parts of Tapestry.</li><li><a shape="rect" class="external-link" href="http://tawus.wordpress.com/" >Java Magic</a> (by Taha Hafeez, committer) has a series of tutorials illustrating some of the more advanced Tapestry and Plastic features and techniques.</li><li><a shape="rect" class="external-link" href="http://blog.andyhot.gr/tag/tapestry/" >Andreas Andreou's blog</a> (committer &amp; PMC) has news and commentary on Tapestry.</li><li><a shape="rect" class="external-link" href="http://spreadthesource.com/" >Spread the Source blog</a> (Christophe Cordenier and Robin Komiwes) has news and advanced tutorials on Tapestry 5.</li></ul><h1 id="Documentation-BooksonTapestry">Books on Tapestry</h1><p>There are at least 8 published <a shape="rect" href="books.html">books on Tapestry</a>, including two on Ta
 pestry 5 &#8212; and more on the way.</p><h1 id="Documentation-ArticlesonTapestry">Articles on Tapestry</h1><ul><li>This <a shape="rect" class="external-link" href="http://www.laliluna.de/articles/the-web-framework-evaluation.html" >eBook</a> published in 2009 contains a <a shape="rect" class="external-link" href="http://www.laliluna.de/articles/2009/08/14/tapestry-web-framework-evaluation-and-test.html" >good introduction and analysis of Tapestry 5</a></li></ul><ul><li><a shape="rect" class="external-link" href="http://www.infoq.com/articles/tapestry5-intro" >Tapestry 5 for Nonbelievers</a> will convince the skeptical why Tapestry is the best web framework.</li></ul><p><a shape="rect" href="articles.html">More articles</a>...</p><h1 id="Documentation-TapestryPresentations">Tapestry Presentations</h1><ul><li>Mark W. Shead's <a shape="rect" class="external-link" href="http://blog.markwshead.com/900/tapestry-5-10-minute-demo/" >10 Minute Demo</a></li><li>H. L. Ship's <a shape="rect" c
 lass="external-link" href="https://www.youtube.com/watch?v=5BGt7eMFC20" >Tapestry 5.4 - Bootstrap-enhanced Exception Reporting</a></li><li><a shape="rect" class="external-link" href="http://jazoon.com/Portals/0/Content/slides/th_a7_1130-1220_drobiazko.pdf" >JavaServer Faces 2.0 vs. Tapestry 5</a> (PDF) A Head-to-Head Comparison by Igor Drobiazko at Jazoon 2010</li><li><a shape="rect" class="external-link" href="http://www.parleys.com/#st=5&amp;sl=5&amp;id=1700" >Tapestry 5: Java power, Scripting Ease</a> (VIDEO) by Howard Lewis Ship at Devoxx 2009</li></ul><p><a shape="rect" href="presentations.html">More presentations</a> ...</p><h1 id="Documentation-TapestryWikis">Tapestry Wikis</h1><ul><li><a shape="rect" class="external-link" href="http://wiki.apache.org/tapestry/FrontPage">Tapestry Community Wiki</a> (Moin Moin) contains a lot of user-generated information on different Tapestry use cases.</li><li><a shape="rect" href="https://cwiki.apache.org/confluence/x/VCFkAQ">Documentation 
 Source wiki</a> (Confluence) &#8211; the wiki used as the content editor for the official Tapestry documentation</li></ul><h1 id="Documentation-Gettinghelp">Getting help</h1><p>The primary method of support is the <a shape="rect" href="mailing-lists.html">Tapestry Mailing Lists</a>.</p><p>In addition, there are occasionally questions and answers about Tapestry at <a shape="rect" class="external-link" href="http://stackoverflow.com/questions/tagged/tapestry" >Stack Overflow</a>.</p><h1 id="Documentation-TheDeveloperCorner">The Developer Corner</h1><p><a shape="rect" href="developer-information.html">Developer Information</a> gives information needed by the Tapestry developers</p><p>&#160;</p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/enum-parameter-recipe.html
==============================================================================
--- websites/production/tapestry/content/enum-parameter-recipe.html (original)
+++ websites/production/tapestry/content/enum-parameter-recipe.html Thu Mar 20 17:21:25 2014
@@ -77,7 +77,7 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="switching-cases.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="switching-cases.html">Switching Cases</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="cookbook.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="cookbook.html">Cookbook</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="error-page-recipe.html">Error Page Recipe</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="error-page-recipe.html"><img align="middle" border
 ="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="switching-cases.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="switching-cases.html">Switching Cases</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="cookbook.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="cookbook.html">Cookbook</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="extending-the-if-component.html">Extending the If Component</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="extending-the-if-component.html"
 ><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
 <p></p>
 
 <h1 id="EnumParameterRecipe-EnumComponentParameter">Enum Component Parameter</h1>

Modified: websites/production/tapestry/content/error-page-recipe.html
==============================================================================
--- websites/production/tapestry/content/error-page-recipe.html (original)
+++ websites/production/tapestry/content/error-page-recipe.html Thu Mar 20 17:21:25 2014
@@ -78,14 +78,14 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="enum-parameter-recipe.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="enum-parameter-recipe.html">Enum Parameter Recipe</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="cookbook.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="cookbook.html">Cookbook</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="extending-the-if-component.html">Extending the If Component</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="extending-the-
 if-component.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px">
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="overriding-exception-reporting.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="cookbook.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="cookbook.html">Cookbook</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="supporting-informal-parameters.html">Supporting Informal Parameters</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><
 a shape="rect" href="supporting-informal-parameters.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px">
 <h3>Related Articles</h3>
 <ul class="content-by-label"><li>
             <div>
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a>
+                            <a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a>
                     
                 
                             </div>
@@ -103,7 +103,7 @@ table.ScrollbarTable td.ScrollbarNextIco
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a>
+                            <a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/exploring-the-project.html
==============================================================================
--- websites/production/tapestry/content/exploring-the-project.html (original)
+++ websites/production/tapestry/content/exploring-the-project.html Thu Mar 20 17:21:25 2014
@@ -170,7 +170,7 @@ public class Index
     }
 }
 ]]></script>
-</div></div><p>There's a bit going on in this listing, as the Index page attempts to demonstrate a bunch of different ideas in Tapestry. Even so, the class is essentially pretty simple: Tapestry pages and components have no base classes to extend, no interfaces to implement, and are just a very pure POJO (Plain Old Java Object) ... with some special naming conventions and annotations for fields and methods.</p><p>You do have to meet the Tapestry framework partway:</p><ul><li>You need to put the Java class in the expected package, here com.example.tutorial.pages</li><li>The class must be public</li><li>You need to make sure there's a public, no-arguments constructor (here, the Java compiler has silently provided one for us)</li><li>All non-static fields must be <strong>private</strong></li></ul><p>As we saw when running the application, the page displays the current date and time, as well as a couple of extra links. The <code>currentTime</code> property is where that value comes from
 ; shortly we'll see how that value is referenced in the template, so it can be extracted from the page and output.</p><p>Tapestry always matches a page class to a template; neither is functional without the other. In fact, components within a page are treated the same way (except that components do not always have templates).</p><p>You will often hear about the <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Model_view_controller" >Model-View-Controller pattern</a> (MVC). In Tapestry, the page class acts as both the Model (the source of data) and the controller (the logic that responds to user interaction). The template is the View in MVC. As a model, the page exposes JavaBeans properties that can be referenced in the template.</p><p>Let's look at how the component template builds on the Java class to provide the full user interface.</p><h1 id="ExploringtheProject-ComponentTemplate">Component Template</h1><p>Tapestry pages are the combination of a POJO Java 
 class with a Tapestry component template. The template has the same name as the Java class, but has the extension <code>.tml</code>. Since the Java class here is com.example.tutorial.pages.Index, the template file will be located at src/main/resource/com/example/tutorial/pages/Index.tml. Ultimately, both the Java class and the component template file will be stored in the same folder within the deployed WAR file.</p><p>Tapestry component templates are well-formed XML documents. This means that you can use any available XML editor. Templates may even have a DOCTYPE or an XML schema to validate the structure of the template page</p><p>&lt;style type='text/css'&gt;
+</div></div><p>There's a bit going on in this listing, as the Index page attempts to demonstrate a bunch of different ideas in Tapestry. Even so, the class is essentially pretty simple: Tapestry pages and components have no base classes to extend, no interfaces to implement, and are just a very pure POJO (Plain Old Java Object) ... with some special naming conventions and annotations for fields and methods.</p><p>You do have to meet the Tapestry framework partway:</p><ul><li>You need to put the Java class in the expected package, here com.example.tutorial.pages</li><li>The class must be public</li><li>You need to make sure there's a public, no-arguments constructor (here, the Java compiler has silently provided one for us)</li><li>All non-static fields must be <strong>private</strong></li></ul><p>As we saw when running the application, the page displays the current date and time, as well as a couple of extra links. The <code>currentTime</code> property is where that value comes from
 ; shortly we'll see how that value is referenced in the template, so it can be extracted from the page and output.</p><p>Tapestry always matches a page class to a template; neither is functional without the other. In fact, components within a page are treated the same way (except that components do not always have templates).</p><p>You will often hear about the <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Model_view_controller" >Model-View-Controller pattern</a> (MVC). In Tapestry, the page class acts as both the Model (the source of data) and the controller (the logic that responds to user interaction). The template is the View in MVC. As a model, the page exposes JavaBeans properties that can be referenced in the template.</p><p>Let's look at how the component template builds on the Java class to provide the full user interface.</p><h1 id="ExploringtheProject-ComponentTemplate">Component Template</h1><p>Tapestry pages are the combination of a POJO Java 
 class with a Tapestry component template. The template has the same name as the Java class, but has the extension <code>.tml</code>. Since the Java class here is com.example.tutorial.pages.Index, the template file will be located at src/main/resource/com/example/tutorial/pages/Index.tml. Ultimately, both the Java class and the component template file will be stored in the same folder within the deployed WAR file.</p><p>Tapestry component templates are well-formed XML documents. This means that you can use any available XML editor. Templates may even have a DOCTYPE or an XML schema to validate the structure of the template page</p><p></p><p>&lt;style type='text/css'&gt;
 .FootnoteMarker, .FootnoteNum a {
   background: transparent url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png) no-repeat top right;
   padding: 1px 2px 0px 1px;
@@ -242,7 +242,7 @@ var footnoteMarkerHighlight = function(i
             1
     </a>
 </sup>
-</p><p>.</p><p>&#160;</p><p>For the most part, a Tapestry component template looks like ordinary XHTML:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>src/main/resources/com/example/tutorial/pages/Index.tml</b></div><div class="codeContent panelContent pdl">
+</p><p></p><p>.</p><p>&#160;</p><p>For the most part, a Tapestry component template looks like ordinary XHTML:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>src/main/resources/com/example/tutorial/pages/Index.tml</b></div><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;html t:type=&quot;layout&quot; title=&quot;tutorial1 Index&quot;
       t:sidebarTitle=&quot;Framework Version&quot;
       xmlns:t=&quot;http://tapestry.apache.org/schema/tapestry_5_3.xsd&quot;
@@ -292,13 +292,13 @@ var footnoteMarkerHighlight = function(i
                             <p>You do have to name your component template file, Index.tml, with the <strong>exact same case</strong> as the component class name, Index. If you get the case wrong, it may work on some operating systems (such as Mac OS X, Windows) and not on others (Linux, and most others). This can be really vexing, as it is common to develop on Windows and deploy on Linux or Solaris, so be careful about case in this one area.</p>
                     </div>
     </div>
-<p>The goal in Tapestry is for component templates, such as Index.tml, to look as much as possible like ordinary, static HTML files</p><p>
+<p>The goal in Tapestry is for component templates, such as Index.tml, to look as much as possible like ordinary, static HTML files</p><p></p><p>
 <sup id="FootnoteMarker2">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker2" href="#Footnote2" onclick="footnoteHighlight(&quot;2&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             2
     </a>
 </sup>
-</p><p>. In fact, the expectation is that in many cases, the templates will start as static HTML files, created by a web developer, and then be <em>instrumented</em> to act as live Tapestry pages.</p><p>&#160;</p><p>Tapestry hides non-standard elements and attributes inside XML namespaces. By convention, the prefix "t:" is used for the primary namespace, but that is not a requirement, any prefix you want to use is fine.</p><p>This short template demonstrates quite a few features of Tapestry.</p>    <div class="aui-message problem shadowed information-macro">
+</p><p></p><p>. In fact, the expectation is that in many cases, the templates will start as static HTML files, created by a web developer, and then be <em>instrumented</em> to act as live Tapestry pages.</p><p>&#160;</p><p>Tapestry hides non-standard elements and attributes inside XML namespaces. By convention, the prefix "t:" is used for the primary namespace, but that is not a requirement, any prefix you want to use is fine.</p><p>This short template demonstrates quite a few features of Tapestry.</p>    <div class="aui-message problem shadowed information-macro">
                             <span class="aui-icon icon-problem">Icon</span>
                 <div class="message-content">
                             <p>Part of the concept of the quickstart archetype is to demonstrate a bunch of different features, approaches and common patterns used in Tapestry, thus we're hitting you with a lot all at once.</p>
@@ -317,37 +317,37 @@ var footnoteMarkerHighlight = function(i
                             <p>If you are coming to Tapestry 5 from Tapestry 4 or earlier, expansions are a concise replacement for the Insert component.</p>
                     </div>
     </div>
-<p>The value inside the curly braces is a <em>property expression</em>. Tapestry uses its own property expression language that is expressive, fast, and type-safe</p><p>
+<p>The value inside the curly braces is a <em>property expression</em>. Tapestry uses its own property expression language that is expressive, fast, and type-safe</p><p></p><p>
 <sup id="FootnoteMarker3">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker3" href="#Footnote3" onclick="footnoteHighlight(&quot;3&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             3
     </a>
 </sup>
-</p><p>. More advanced property expressions can traverse multiple properties (for example, <code>user.address.city</code>), or even invoke public methods. Here the expansion simply reads the <code>currentTime</code> property of the page.</p><p>&#160;</p><p>Tapestry follows the rules defined by Sun's JavaBeans specification: a property name of <code>currentTime</code> maps to two methods: <code>getCurrentTime()</code> and <code>setCurrentTime()</code>. If you omit one or the other of these methods, the property is either read only (as here), or write only</p><p>
+</p><p></p><p>. More advanced property expressions can traverse multiple properties (for example, <code>user.address.city</code>), or even invoke public methods. Here the expansion simply reads the <code>currentTime</code> property of the page.</p><p>&#160;</p><p>Tapestry follows the rules defined by Sun's JavaBeans specification: a property name of <code>currentTime</code> maps to two methods: <code>getCurrentTime()</code> and <code>setCurrentTime()</code>. If you omit one or the other of these methods, the property is either read only (as here), or write only</p><p></p><p>
 <sup id="FootnoteMarker4">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker4" href="#Footnote4" onclick="footnoteHighlight(&quot;4&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             4
     </a>
 </sup>
-</p><p>.</p><p>&#160;</p><p>Tapestry does go one step further: it ignores case when matching properties inside the expansion to properties of the page. In the template we could say ${currenttime} or ${CurrentTime} or any variation, and Tapestry will <em>still</em> invoke the <code>getCurrentTime()</code> method.</p><p>Note that in Tapestry it is not necessary to configure what object holds the <code>currentTime</code> property; a template and a page are always used in combination with each other; expressions are always rooted in the page instance, in this case, an instance of the Index class.</p><p>The Index.tml template includes a second expansion:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</p><p></p><p>.</p><p>&#160;</p><p>Tapestry does go one step further: it ignores case when matching properties inside the expansion to properties of the page. In the template we could say ${currenttime} or ${CurrentTime} or any variation, and Tapestry will <em>still</em> invoke the <code>getCurrentTime()</code> method.</p><p>Note that in Tapestry it is not necessary to configure what object holds the <code>currentTime</code> property; a template and a page are always used in combination with each other; expressions are always rooted in the page instance, in this case, an instance of the Index class.</p><p>The Index.tml template includes a second expansion:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[    &lt;p&gt;${message:greeting}&lt;/p&gt;
 ]]></script>
-</div></div><p>Here <code>greeting</code> is not a property of the page; its actually a localized message key. Every Tapestry page and component is allowed to have its own message catalog</p><p>
+</div></div><p>Here <code>greeting</code> is not a property of the page; its actually a localized message key. Every Tapestry page and component is allowed to have its own message catalog</p><p></p><p>
 <sup id="FootnoteMarker5">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker5" href="#Footnote5" onclick="footnoteHighlight(&quot;5&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             5
     </a>
 </sup>
-</p><p>.</p><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>src/main/resources/com/example/tutorial/pages/Index.properties</b></div><div class="codeContent panelContent pdl">
+</p><p></p><p>.</p><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>src/main/resources/com/example/tutorial/pages/Index.properties</b></div><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[greeting=Welcome to Tapestry 5!  We hope that this project template will get you going in style.
 ]]></script>
-</div></div><p>Message catalogs are useful for storing repeating strings outside of code or templates, though their primary purpose is related to localization of the application (which will be described in more detail in a later chapter). Messages that may be used across multiple pages can be stored in the application's global message catalog, src/main/webapp/WEB-INF/app.properties, instead.</p><p>This "message:" prefix is not some special case; there are actually quite a few of these <em>binding prefixes</em> built into Tapestry, each having a specific purpose. In fact, omitting a binding prefix in an expansion is exactly the same as using the "prop:" binding prefix, which means to treat the binding as a property expression.</p><p>Expansions are useful for extracting a piece of information and rendering it out to the client as a string, but the real heavy lifting of Tapestry occurs inside components.</p><h1 id="ExploringtheProject-ComponentsInsideTemplates">Components Inside Templa
 tes</h1><p>Components can be represented inside a component template in two ways</p><p>
+</div></div><p>Message catalogs are useful for storing repeating strings outside of code or templates, though their primary purpose is related to localization of the application (which will be described in more detail in a later chapter). Messages that may be used across multiple pages can be stored in the application's global message catalog, src/main/webapp/WEB-INF/app.properties, instead.</p><p>This "message:" prefix is not some special case; there are actually quite a few of these <em>binding prefixes</em> built into Tapestry, each having a specific purpose. In fact, omitting a binding prefix in an expansion is exactly the same as using the "prop:" binding prefix, which means to treat the binding as a property expression.</p><p>Expansions are useful for extracting a piece of information and rendering it out to the client as a string, but the real heavy lifting of Tapestry occurs inside components.</p><h1 id="ExploringtheProject-ComponentsInsideTemplates">Components Inside Templa
 tes</h1><p>Components can be represented inside a component template in two ways</p><p></p><p>
 <sup id="FootnoteMarker6">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker6" href="#Footnote6" onclick="footnoteHighlight(&quot;6&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             6
     </a>
 </sup>
-</p><p>:</p><p>&#160;</p><ul><li>As an ordinary element, but with a t:type attribute to define the type of component.</li></ul><ul><li>As an element in the Tapestry namespace, in which case the element name determines the type.</li></ul><p>Here we've used an &lt;html&gt; element to represent the application's Layout component.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</p><p></p><p>:</p><p>&#160;</p><ul><li>As an ordinary element, but with a t:type attribute to define the type of component.</li></ul><ul><li>As an element in the Tapestry namespace, in which case the element name determines the type.</li></ul><p>Here we've used an &lt;html&gt; element to represent the application's Layout component.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;html t:type=&quot;layout&quot; ...&gt; 
   ...
 &lt;/html&gt;
@@ -364,7 +364,7 @@ var footnoteMarkerHighlight = function(i
 
 
 
-<span class="gliffy-container" id="gliffy-container-24346949-9667" data-fullwidth="913" data-ceoid="24188263" data-filename="Templates and Parameters">
+<span class="gliffy-container" id="gliffy-container-24346949-7366" data-fullwidth="913" data-ceoid="24188263" data-filename="Templates and Parameters">
 
             
 <span class="gliffy-chrome-container">
@@ -384,11 +384,11 @@ var footnoteMarkerHighlight = function(i
             </span>
 </span>
     
-    <map id="gliffy-map-24346949-2001" name="gliffy-map-24346949-2001"></map>
+    <map id="gliffy-map-24346949-9201" name="gliffy-map-24346949-9201"></map>
 
-    <img class="gliffy-image gliffy-image-border" id="gliffy-image-24346949-9667" width="304" height="300" data-full-width="913" data-full-height="901" src="https://cwiki.apache.org/confluence/download/attachments/24188263/Templates%20and%20Parameters.png?version=2&amp;modificationDate=1371888025000&amp;api=v2" usemap="#gliffy-map-24346949-2001">
+    <img class="gliffy-image gliffy-image-border" id="gliffy-image-24346949-7366" width="304" height="300" data-full-width="913" data-full-height="901" src="https://cwiki.apache.org/confluence/download/attachments/24188263/Templates%20and%20Parameters.png?version=2&amp;modificationDate=1371888025000&amp;api=v2" usemap="#gliffy-map-24346949-9201">
 
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-24346949-9667" name="gliffy-dynamic-map-24346949-9667"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-24346949-7366" name="gliffy-dynamic-map-24346949-7366"></map>
 </span>
 
 
@@ -415,7 +415,7 @@ var footnoteMarkerHighlight = function(i
                             <p>This level of detail reflects that the application has been configured to run in <em>development mode</em> instead of <em>production mode</em>. In production mode, the exception report would simply be the top level exception message. However, most production applications go further and customize how Tapestry handles and reports exceptions.</p>
                     </div>
     </div>
-<p>There was a bunch of other stuff on this page, related to links and Ajax and other things, that we'll ignore for the moment.</p><hr><p>&#160;</p><p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
+<p>There was a bunch of other stuff on this page, related to links and Ajax and other things, that we'll ignore for the moment.</p><hr><p>&#160;</p><p></p><p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
         <a shape="rect" id="FootnoteNum1" href="#FootnoteMarker1" onclick="footnoteMarkerHighlight(&quot;1&quot;);" onmouseover="footnoteHighlight(&quot;1&quot;,false);" alt="Footnote: Click to return to reference in text" title="Footnote: Click to return to reference in text">
             1
         </a>
@@ -452,7 +452,7 @@ var footnoteMarkerHighlight = function(i
         </a>
       </td><td colspan="1" rowspan="1" valign="top" class="Footnote" id="Footnote6" width="100%" headings="footnote-th2">
           Ok, there's a third way as well, which will be discussed in good time.
-      </td></tr></tbody></table></p><style type="text/css">/*<![CDATA[*/
+      </td></tr></tbody></table></p><p></p><style type="text/css">/*<![CDATA[*/
 table.ScrollbarTable  {border: none;padding: 3px;width: 100%;padding: 3px;margin: 0px;background-color: #f0f0f0}
 table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width: 16px;border: none;}
 table.ScrollbarTable td.ScrollbarPrevName {text-align: left;border: none;}

Modified: websites/production/tapestry/content/extending-the-if-component.html
==============================================================================
--- websites/production/tapestry/content/extending-the-if-component.html (original)
+++ websites/production/tapestry/content/extending-the-if-component.html Thu Mar 20 17:21:25 2014
@@ -78,7 +78,7 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="error-page-recipe.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="error-page-recipe.html">Error Page Recipe</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="cookbook.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="cookbook.html">Cookbook</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="meta-programming-page-content.html">Meta-Programming Page Content</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="meta-programming-pag
 e-content.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><h1 id="ExtendingtheIfComponent-ExtendingtheIfComponent">Extending the If Component</h1><p>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/If.html">If</a> component can be made very flexible; its main parameter, <code>test</code>, does not <em>have</em> to be bound to a boolean value, it merely has to be bound to a value that can be <a shape="rect" href="typecoercer-service.html">coerced</a> to boolean.</p><p>For example, you may be working on an application that does a lot of <a shape="rect" class="external-link" href="http://lucene.apache.org/java/docs/index.html">Lucene</a> searches, and you represent the results as a SearchResult object:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
 style="border-bottom-width: 1px;"><b>SearchResult.java</b></div><div class="codeContent panelContent pdl">
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="enum-parameter-recipe.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="enum-parameter-recipe.html">Enum Parameter Recipe</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="cookbook.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="cookbook.html">Cookbook</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="meta-programming-page-content.html">Meta-Programming Page Content</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="meta-pro
 gramming-page-content.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><h1 id="ExtendingtheIfComponent-ExtendingtheIfComponent">Extending the If Component</h1><p>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/If.html">If</a> component can be made very flexible; its main parameter, <code>test</code>, does not <em>have</em> to be bound to a boolean value, it merely has to be bound to a value that can be <a shape="rect" href="typecoercer-service.html">coerced</a> to boolean.</p><p>For example, you may be working on an application that does a lot of <a shape="rect" class="external-link" href="http://lucene.apache.org/java/docs/index.html">Lucene</a> searches, and you represent the results as a SearchResult object:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panel
 Header pdl" style="border-bottom-width: 1px;"><b>SearchResult.java</b></div><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public class SearchResult&lt;T&gt; {
   public final Class&lt;T&gt; itemType;
   public final List&lt;T&gt; items;

Modified: websites/production/tapestry/content/forms-and-validation.html
==============================================================================
--- websites/production/tapestry/content/forms-and-validation.html (original)
+++ websites/production/tapestry/content/forms-and-validation.html Thu Mar 20 17:21:25 2014
@@ -101,11 +101,11 @@
                             </div>
         </li></ul>
 </div><p>The life's blood of any application is form input; this is the most effective way to gather significant information from the user. Whether it's a search form, a login screen or a multi-page registration wizard, forms are how the user really expresses themselves to the application.</p><p>Tapestry excels at creating forms and validating input. Input validation is declarative, meaning you simply tell Tapestry what validations to apply to a given field, and it takes care of it on the server and (once implemented) on the client as well.</p><p>Finally, Tapestry is able to not only present the errors back to the user, but to decorate the fields and the labels for the fields, marking them as containing errors (primarily, using CSS effects).</p><p><strong>Contents</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1392679258980 {padding: 0px;}
-div.rbtoc1392679258980 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392679258980 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1395336057592 {padding: 0px;}
+div.rbtoc1395336057592 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1395336057592 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1392679258980">
+/*]]>*/</style></p><div class="toc-macro rbtoc1395336057592">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a shape="rect" href="#FormsandValidation-TheFormComponent">The Form Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#FormsandValidation-FormEvents">Form Events</a></li><li><a shape="rect" href="#FormsandValidation-TrackingValidationErrors">Tracking Validation Errors</a></li><li><a shape="rect" href="#FormsandValidation-StoringDataBetweenRequests">Storing Data Between Requests</a></li><li><a shape="rect" href="#FormsandValidation-ConfiguringFieldsandLabels">Configuring Fields and Labels</a></li><li><a shape="rect" href="#FormsandValidation-ErrorsandDecorations">Errors and Decorations</a></li></ul>

Modified: websites/production/tapestry/content/frequently-asked-questions.html
==============================================================================
--- websites/production/tapestry/content/frequently-asked-questions.html (original)
+++ websites/production/tapestry/content/frequently-asked-questions.html Thu Mar 20 17:21:25 2014
@@ -63,7 +63,7 @@
 <div id="content">
 <div id="ConfluenceContent"><ul class="childpages-macro"><li><a shape="rect" href="general-questions.html">General Questions</a></li><li><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a></li><li><a shape="rect" href="page-and-component-classes-faq.html">Page And Component Classes FAQ</a></li><li><a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></li><li><a shape="rect" href="beaneditform-faq.html">BeanEditForm FAQ</a></li><li><a shape="rect" href="link-components-faq.html">Link Components FAQ</a></li><li><a shape="rect" href="component-events-faq.html">Component Events FAQ</a></li><li><a shape="rect" href="javascript-faq.html">JavaScript FAQ</a></li><li><a shape="rect" href="ajax-components-faq.html">Ajax Components FAQ</a></li><li><a shape="rect" href="injection-faq.html">Injection FAQ</a></li><li><a shape="rect" href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control FAQ</a></li><li><a s
 hape="rect" href="security-faq.html">Security FAQ</a></li><li><a shape="rect" href="integration-with-existing-applications.html">Integration with existing applications</a></li><li><a shape="rect" href="request-processing-faq.html">Request Processing FAQ</a></li><li><a shape="rect" href="limitations.html">Limitations</a></li><li><a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a></li><li><a shape="rect" href="hibernate-support-faq.html">Hibernate Support FAQ</a></li><li><a shape="rect" href="maven-support-faq.html">Maven Support FAQ</a></li><li><a shape="rect" href="release-upgrade-faq.html">Release Upgrade FAQ</a></li></ul>
 
-<p></p><p></p><p></p><p></p><p></p></div>
+<p></p><p></p><p></p><p></p><p></p><p></p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/getting-started.html
==============================================================================
--- websites/production/tapestry/content/getting-started.html (original)
+++ websites/production/tapestry/content/getting-started.html Thu Mar 20 17:21:25 2014
@@ -68,7 +68,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="principles.html">Principles</a>
+                            <a shape="rect" href="introduction.html">Introduction</a>
                     
                 
                             </div>
@@ -77,7 +77,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="introduction.html">Introduction</a>
+                            <a shape="rect" href="tapestry-for-jsf-users.html">Tapestry for JSF Users</a>
                     
                 
                             </div>
@@ -86,7 +86,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a>
+                            <a shape="rect" href="principles.html">Principles</a>
                     
                 
                             </div>
@@ -95,7 +95,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="tapestry-for-jsf-users.html">Tapestry for JSF Users</a>
+                            <a shape="rect" href="getting-started.html">Getting Started</a>
                     
                 
                             </div>
@@ -104,7 +104,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="getting-started.html">Getting Started</a>
+                            <a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a>
                     
                 
                             </div>