Author: buildbot
Date: Thu May 19 20:20:15 2016
New Revision: 988661

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/ajax-components-faq.html
    websites/production/tapestry/content/beaneditform-faq.html
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/class-reloading.html
    websites/production/tapestry/content/component-events-faq.html
    websites/production/tapestry/content/component-parameters.html
    websites/production/tapestry/content/configuration.html
    websites/production/tapestry/content/enum-parameter-recipe.html
    websites/production/tapestry/content/error-page-recipe.html
    websites/production/tapestry/content/exploring-the-project.html
    websites/production/tapestry/content/extending-the-if-component.html
    websites/production/tapestry/content/forms-and-form-components-faq.html
    websites/production/tapestry/content/forms-and-validation.html
    websites/production/tapestry/content/general-questions.html
    websites/production/tapestry/content/hibernate-support-faq.html
    websites/production/tapestry/content/injection-faq.html
    websites/production/tapestry/content/integrating-with-jpa.html
    websites/production/tapestry/content/integrating-with-spring-framework.html
    
websites/production/tapestry/content/integration-with-existing-applications.html
    
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
    
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html
    websites/production/tapestry/content/ioc-cookbook-patterns.html
    
websites/production/tapestry/content/ioc-cookbook-service-configurations.html
    websites/production/tapestry/content/ioc-cookbook.html
    websites/production/tapestry/content/javascript-faq.html
    websites/production/tapestry/content/limitations.html
    websites/production/tapestry/content/link-components-faq.html
    websites/production/tapestry/content/maven-support-faq.html
    websites/production/tapestry/content/meta-programming-page-content.html
    websites/production/tapestry/content/page-and-component-classes-faq.html
    websites/production/tapestry/content/release-notes-50.html
    websites/production/tapestry/content/release-notes-51.html
    websites/production/tapestry/content/release-notes-52.html
    websites/production/tapestry/content/release-notes-53.html
    websites/production/tapestry/content/release-notes-531.html
    websites/production/tapestry/content/release-notes-532.html
    websites/production/tapestry/content/release-notes-533.html
    websites/production/tapestry/content/release-notes-534.html
    websites/production/tapestry/content/release-notes-535.html
    websites/production/tapestry/content/release-notes-536.html
    websites/production/tapestry/content/release-notes-537.html
    websites/production/tapestry/content/release-notes-54.html
    websites/production/tapestry/content/release-upgrade-faq.html
    websites/production/tapestry/content/request-processing-faq.html
    websites/production/tapestry/content/security-faq.html
    websites/production/tapestry/content/session-storage.html
    websites/production/tapestry/content/specific-errors-faq.html
    websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
    websites/production/tapestry/content/templating-and-markup-faq.html
    websites/production/tapestry/content/test-page-2.html
    websites/production/tapestry/content/using-select-with-a-list.html

Modified: websites/production/tapestry/content/ajax-components-faq.html
==============================================================================
--- websites/production/tapestry/content/ajax-components-faq.html (original)
+++ websites/production/tapestry/content/ajax-components-faq.html Thu May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="javascript-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">JavaScript FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="injection-faq.html" rel="next">
-                <span class="title">Injection FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="AjaxComponentsFAQ-AjaxComponents">Ajax Components</h2><p>Main 
article: <a  href="ajax-and-zones.html">Ajax and Zones</a></p><h3 
id="AjaxComponentsFAQ-DoIhavetospecifybothidandt:idforZonecomponents?">Do I 
have to specify both <code>id</code> and <code>t:id</code> for Zone 
components?</h3><p>The examples for the Zone component (in the Component 
Reference) consistently specify both <code>id</code> and <code>t:id</code> and 
this is probably a good idea.</p><p>Generally speaking, if you don't specify 
the client-side id (the <code>id</code> attribute), it will be the same as the 
Tapestry component id (<code>t:id</code>).</p><p>However, there are any number 
of exceptions to this rule. The Zone may be rendering inside a Loop (in which 
case, each rendering will have a unique client side id). The Zone may be 
rendering as part of a partial page render, in which case, a random unique id 
is inserted into the id. There are other examples where Tapestry component ids 
in nested compon
 ents may also clash.</p><p>The point is, to be sure, specify the exact client 
id. This will be the value for the <code>zone</code> parameter of the 
triggering component (such as a Form, PageLink, ActionLink, etc.).</p><h3 
id="AjaxComponentsFAQ-HowdoIupdatethecontentofaZonefromaneventhandlermethod?">How
 do I update the content of a Zone from an event handler method?</h3><p>When a 
client-side link or form triggers an update, the return value from the event 
handler method is used to construct a partial page response; this partial page 
response includes markup content that is used to update the Zone's client-side 
<code>&lt;div&gt;</code> element.</p><p>Where does that content come from? You 
inject it into your page.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><h2 
id="AjaxComponentsFAQ-AjaxComponents">Ajax Components</h2><p>Main article: <a  
href="ajax-and-zones.html">Ajax and Zones</a></p><h3 
id="AjaxComponentsFAQ-DoIhavetospecifybothidandt:idforZonecomponents?">Do I 
have to specify both <code>id</code> and <code>t:id</code> for Zone 
components?</h3><p>The examples for the Zone component (in the Component 
Reference) consistently specify both <code>id</code> and <code>t:id</code> and 
this is probably a good idea.</p><p>Generally speaking, if you don't specify 
the client-side id (the <code>id</code> attribute), it will be the same as the 
Tapestry component id (<code>t:id</code>).</p><p>However, there are any number 
of exceptions to this rule. The Zone may be rendering inside a Loop (in which 
case, each rendering will have a unique client side id). The Zone may be 
rendering as part of a partial page render, in which case, a random unique id 
is inserted into the id. There are other examples where T
 apestry component ids in nested components may also clash.</p><p>The point is, 
to be sure, specify the exact client id. This will be the value for the 
<code>zone</code> parameter of the triggering component (such as a Form, 
PageLink, ActionLink, etc.).</p><h3 
id="AjaxComponentsFAQ-HowdoIupdatethecontentofaZonefromaneventhandlermethod?">How
 do I update the content of a Zone from an event handler method?</h3><p>When a 
client-side link or form triggers an update, the return value from the event 
handler method is used to construct a partial page response; this partial page 
response includes markup content that is used to update the Zone's client-side 
<code>&lt;div&gt;</code> element.</p><p>Where does that content come from? You 
inject it into your page.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;t:zone id="search" t:id="searchZone"&gt;
   &lt;t:form t:id="searchForm" zone="searchZone"&gt;
     &lt;t:textfield t:id="query" size="20"/&gt;
@@ -170,30 +147,7 @@
 </div></div><p>But when the form is inside a Zone and rendered as part of a 
zone update, the ids get weird:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">   &lt;input id="firstName_12a820cc40e" 
name="firstName" type="text"&gt;
 </pre>
-</div></div><p>What's happening here is that Tapestry is working to prevent 
unwanted id clashes as part of the page update. In an HTML document, each 
<code>id</code> is expected to be unique; most JavaScript is keyed off of the 
<code>id</code> field, for instance.</p><p>In a full page render, components 
don't just use their component id (<code>t:id</code>) as their client id; 
instead they use the <code>JavaScriptSupport</code> environmental to allocate a 
unique id. When there's no loops or conflicts, the client id matches the 
component id.</p><p>When the component is inside a loop, a suffix is appended: 
<code>firstName</code>, <code>firstName_0</code>, <code>firstName_1</code>, 
etc.</p><p>When the component is rendered as part of an Ajax partial page 
update, the rules are different. Since Tapestry doesn't know what content has 
been rendered onto the page previously, it can't use its normal tricks to 
ensure that ids are unique.</p><p>Instead, Tapestry creates a random-ish unique 
id s
 uffix, such as "12a820cc40e" in the example; this suffix is appended to all 
allocated ids to ensure that they do not conflict with previously rendered 
ids.</p><h3 
id="AjaxComponentsFAQ-WhydoIsometimesgettheexception&quot;Therenderedcontentdidnotincludeanyelementsthatallowforthepositioningofthehiddenformfield'selement.&quot;whenrenderinganemptyZone?">Why
 do I sometimes get the exception "The rendered content did not include any 
elements that allow for the positioning of the hidden form field's element." 
when rendering an empty Zone?</h3><p>As part of Tapestry's form processing, it 
must write a hidden input element with information needed when the form is 
submitted. Since the content of a Zone may be changed or removed, a hidden 
field is created just for the Zone, separate from the rest of the enclosing 
form.</p><p>At the same time, Tapestry wants to position the &lt;input&gt; 
field in a valid location, and HTML defines some constraints for that; an input 
field must appear inside a &l
 t;p&gt; or &lt;div&gt; element. In your empty Zone, there's no place to put 
the hidden element.</p><p>The solution is to add a &lt;div&gt; element to the 
body of the zone; t<span style="line-height: 1.4285715;">his ensures that 
there's a place for the hidden input field. &#160;An empty &lt;div&gt; element 
(even one containing a hidden form field) will not affect page 
layout.</span></p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="javascript-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">JavaScript FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="injection-faq.html" rel="next">
-                <span class="title">Injection FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div></div><p>What's happening here is that Tapestry is working to prevent 
unwanted id clashes as part of the page update. In an HTML document, each 
<code>id</code> is expected to be unique; most JavaScript is keyed off of the 
<code>id</code> field, for instance.</p><p>In a full page render, components 
don't just use their component id (<code>t:id</code>) as their client id; 
instead they use the <code>JavaScriptSupport</code> environmental to allocate a 
unique id. When there's no loops or conflicts, the client id matches the 
component id.</p><p>When the component is inside a loop, a suffix is appended: 
<code>firstName</code>, <code>firstName_0</code>, <code>firstName_1</code>, 
etc.</p><p>When the component is rendered as part of an Ajax partial page 
update, the rules are different. Since Tapestry doesn't know what content has 
been rendered onto the page previously, it can't use its normal tricks to 
ensure that ids are unique.</p><p>Instead, Tapestry creates a random-ish unique 
id s
 uffix, such as "12a820cc40e" in the example; this suffix is appended to all 
allocated ids to ensure that they do not conflict with previously rendered 
ids.</p><h3 
id="AjaxComponentsFAQ-WhydoIsometimesgettheexception&quot;Therenderedcontentdidnotincludeanyelementsthatallowforthepositioningofthehiddenformfield'selement.&quot;whenrenderinganemptyZone?">Why
 do I sometimes get the exception "The rendered content did not include any 
elements that allow for the positioning of the hidden form field's element." 
when rendering an empty Zone?</h3><p>As part of Tapestry's form processing, it 
must write a hidden input element with information needed when the form is 
submitted. Since the content of a Zone may be changed or removed, a hidden 
field is created just for the Zone, separate from the rest of the enclosing 
form.</p><p>At the same time, Tapestry wants to position the &lt;input&gt; 
field in a valid location, and HTML defines some constraints for that; an input 
field must appear inside a &l
 t;p&gt; or &lt;div&gt; element. In your empty Zone, there's no place to put 
the hidden element.</p><p>The solution is to add a &lt;div&gt; element to the 
body of the zone; t<span style="line-height: 1.4285715;">his ensures that 
there's a place for the hidden input field. &#160;An empty &lt;div&gt; element 
(even one containing a hidden form field) will not affect page 
layout.</span></p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/beaneditform-faq.html
==============================================================================
--- websites/production/tapestry/content/beaneditform-faq.html (original)
+++ websites/production/tapestry/content/beaneditform-faq.html Thu May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="forms-and-form-components-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Forms and Form Components 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="link-components-faq.html" rel="next">
-                <span class="title">Link Components FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div> 
+                <div id="ConfluenceContent"> 
 
 <h2 id="BeanEditFormFAQ-BeanEditForm">BeanEditForm </h2>
 
@@ -148,31 +125,7 @@ public class MyPage {
 <h3 id="BeanEditFormFAQ-HowdoIcustomizethelayoutoftheBeanEditForm?">How do I 
customize the layout of the BeanEditForm?</h3>
 
 <p>The BeanEditForm is a <em>scaffolding</em> component; it exists to get 
things up and running quickly. It can be customized visually using CSS, and can 
be configured and extended in a number of ways ... but ultimately, if you want 
fine control, you should use the underlying Form, TextField and other 
components directly.</p>
-
-    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="forms-and-form-components-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Forms and Form Components 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="link-components-faq.html" rel="next">
-                <span class="title">Link Components FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/tapestry/content/class-reloading.html
==============================================================================
--- websites/production/tapestry/content/class-reloading.html (original)
+++ websites/production/tapestry/content/class-reloading.html Thu May 19 
20:20:15 2016
@@ -126,30 +126,7 @@
 </div></div><p>This is the intent of service builder methods; to do more than 
just injecting dependencies.</p><h2 
id="ClassReloading-CheckingForUpdates">Checking For Updates</h2><p>The built in 
InvalidationEventHub services provide notifications of changes to component 
classes, to component templates, and to component message catalogs. If you wish 
to check some other resources (for example, files in a directory of the file 
system or rows in a database table), you should register as an <a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/UpdateListener.html";>UpdateListener</a>
 with the <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/UpdateListenerHub.html";>UpdateListenerHub</a>
 service.</p><p>Periodically (the frequency is configurable), UpdateListeners 
are notified that they should check for updates. Typically, UpdateListeners are 
also InvalidationEventHubs (or provide Invali
 dationEventHubs), so that other interested parties can be alerted when 
underlying data changes.</p><h2 
id="ClassReloading-TroubleshootingLiveClassReloading">Troubleshooting Live 
Class Reloading</h2><h3 id="ClassReloading-QuickChecklist">Quick 
Checklist</h3><ul><li>"Production Mode" must be false (in Tapestry 5.3 and 
later)</li><li>The class must be one that Tapestry instantiates (a page, 
component, or mixin class, or a Tapestry IOC service implementation that 
implements an interface)</li><li>Turn on "Build Automatically" in your IDE, or 
remember to build manually.</li><li>Turn <em>off</em> JVM hot code swapping, if 
your servlet container supports it.</li><li>Eclipse: Uncheck the "derived" 
checkbox for the Target dir (in the Project Explorer view, right click on 
"target", select properties, uncheck "derived" on the Resource 
tab)</li></ul><p>Some of these issues are described in more detail 
below.</p><h3 id="ClassReloading-IfLiveClassReloadingdoesn'twork">If Live Class 
Reloading doesn
 't work</h3><h4 id="ClassReloading-ProductionMode">Production 
Mode</h4><p>Starting with Tapestry 5.3, Live Class Reloading only works when 
not in "Production Mode". Check your application module (usually 
AppModule.java) to be sure you have:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">configuration.add(SymbolConstants.PRODUCTION_MODE, 
"false");
 </pre>
-</div></div><p>and that this isn't being overridden to "true" on your 
application's startup command line.</p><h4 
id="ClassReloading-BuildPathIssues">Build Path Issues</h4><p>Live Class 
Reloading can fail if your build path isn't set correctly, and the exact 
configuration may differ between Maven plugin versions and Eclipse versions. 
The build process must be set to create classes in a folder which is in the 
servlet container's classpath.</p><p>Live Class Reloading won't work correctly 
with vanilla Tomcat without some tweaks (see below).</p><p>Non-Tapestry filters 
can interfere with LCR. Try disabling other filters in your web.xml file to see 
if that helps.</p><h4 id="ClassReloading-BuildingAutomatically">Building 
Automatically</h4><p>Although LCR allows you to see changes without restarting 
your app, you still need to "build" your project (to compile the Java source 
into byte code). Your IDE can be set to do this automatically every time you 
save a file. (In Eclipse, this is done us
 ing <code>Project &gt; Build Automatically</code>.) Alternatively, you can 
manually trigger a build after you save a file. (In Eclipse, this is done using 
<code>Project &gt; Build</code>, or by pressing <code>Control-B</code>.)</p><h4 
id="ClassReloading-TurnoffJVMhotcodeswapping&amp;automaticrestarts">Turn off 
JVM hot code swapping &amp; automatic restarts</h4><p>Many servlet containers, 
including Tomcat and Jetty, support various forms of hot code swapping and/or 
automatic restarts when file changes are detected. These are generally 
<strong>much slower</strong> than LCR and usually should be turned off with 
Tapestry applications. If you're using RunJettyRun plugin for Eclipse, for 
example, edit your Run Configuration, and on the Jetty tab, click Show Advanced 
Options and uncheck the Enable Scanner checkbox.</p><h3 
id="ClassReloading-TomcatSpecifics">Tomcat Specifics</h3><p>See <a  
class="external-link" 
href="http://docs.codehaus.org/display/TYNAMO/Developing+with+Tomcat+and+Eclipse
 " rel="nofollow">these hints</a></p><h3 
id="ClassReloading-IfLiveClassReloadingworksbutisslow">If Live Class Reloading 
works but is slow</h3><p>If LCR works for you but is slow (more than a second 
or two), consider the following.</p><ul><li>Be sure your project source files 
(your workspace in Eclipse, for example), are on a local drive, NOT a network 
location. Network drives are always slower, and the file system scanning needed 
for LCR can add a noticable lag if I/O is slow. If you use Maven, be sure to 
put your local repository (e.g. ~/.m2/repository) on a local drive for similar 
reasons.</li><li>Since LCR adds classes to your PermGen space, you may be 
running low on PermGen memory (and may eventually get a 
"java.lang.OutOfMemoryError: PermGen space" error). Try increasing PermGen size 
with a JVM argument of something like 
<code>-XX:MaxPermSize=400m</code></li></ul><p>    
-</p><div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="runtime-exceptions.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Runtime Exceptions</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="user-guide.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">User Guide</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="component-reference.html" rel="next">
-                <span class="title">Component Reference</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div></div><p>and that this isn't being overridden to "true" on your 
application's startup command line.</p><h4 
id="ClassReloading-BuildPathIssues">Build Path Issues</h4><p>Live Class 
Reloading can fail if your build path isn't set correctly, and the exact 
configuration may differ between Maven plugin versions and Eclipse versions. 
The build process must be set to create classes in a folder which is in the 
servlet container's classpath.</p><p>Live Class Reloading won't work correctly 
with vanilla Tomcat without some tweaks (see below).</p><p>Non-Tapestry filters 
can interfere with LCR. Try disabling other filters in your web.xml file to see 
if that helps.</p><h4 id="ClassReloading-BuildingAutomatically">Building 
Automatically</h4><p>Although LCR allows you to see changes without restarting 
your app, you still need to "build" your project (to compile the Java source 
into byte code). Your IDE can be set to do this automatically every time you 
save a file. (In Eclipse, this is done us
 ing <code>Project &gt; Build Automatically</code>.) Alternatively, you can 
manually trigger a build after you save a file. (In Eclipse, this is done using 
<code>Project &gt; Build</code>, or by pressing <code>Control-B</code>.)</p><h4 
id="ClassReloading-TurnoffJVMhotcodeswapping&amp;automaticrestarts">Turn off 
JVM hot code swapping &amp; automatic restarts</h4><p>Many servlet containers, 
including Tomcat and Jetty, support various forms of hot code swapping and/or 
automatic restarts when file changes are detected. These are generally 
<strong>much slower</strong> than LCR and usually should be turned off with 
Tapestry applications. If you're using RunJettyRun plugin for Eclipse, for 
example, edit your Run Configuration, and on the Jetty tab, click Show Advanced 
Options and uncheck the Enable Scanner checkbox.</p><h3 
id="ClassReloading-TomcatSpecifics">Tomcat Specifics</h3><p>See <a  
class="external-link" 
href="http://docs.codehaus.org/display/TYNAMO/Developing+with+Tomcat+and+Eclipse
 " rel="nofollow">these hints</a></p><h3 
id="ClassReloading-IfLiveClassReloadingworksbutisslow">If Live Class Reloading 
works but is slow</h3><p>If LCR works for you but is slow (more than a second 
or two), consider the following.</p><ul><li>Be sure your project source files 
(your workspace in Eclipse, for example), are on a local drive, NOT a network 
location. Network drives are always slower, and the file system scanning needed 
for LCR can add a noticable lag if I/O is slow. If you use Maven, be sure to 
put your local repository (e.g. ~/.m2/repository) on a local drive for similar 
reasons.</li><li>Since LCR adds classes to your PermGen space, you may be 
running low on PermGen memory (and may eventually get a 
"java.lang.OutOfMemoryError: PermGen space" error). Try increasing PermGen size 
with a JVM argument of something like 
<code>-XX:MaxPermSize=400m</code></li></ul><p></p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/component-events-faq.html
==============================================================================
--- websites/production/tapestry/content/component-events-faq.html (original)
+++ websites/production/tapestry/content/component-events-faq.html Thu May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="link-components-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Link Components FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="javascript-faq.html" rel="next">
-                <span class="title">JavaScript FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div> 
+                <div id="ConfluenceContent"> 
 
 <h2 id="ComponentEventsFAQ-ComponentEvents">Component Events </h2>
 
@@ -123,31 +100,7 @@
 <h3 
id="ComponentEventsFAQ-IspecifiedazoneinmyActionLink/EventLink,sowhydoesn'tmyeventfireviaajax(request.isXHR()isfalse)?">I
 specified a zone in my ActionLink/EventLink, so why doesn't my event fire via 
ajax (request.isXHR() is false)?</h3>
 
 <p>Check your browser's JavaScript console for errors. It's likely that a 
JavaScript error has prevented Tapestry from transforming your 
ActionLink/EventLink from a page render action to an ajax action.</p>
-
-    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="link-components-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Link Components FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="javascript-faq.html" rel="next">
-                <span class="title">JavaScript FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/component-parameters.html
==============================================================================
--- websites/production/tapestry/content/component-parameters.html (original)
+++ websites/production/tapestry/content/component-parameters.html Thu May 19 
20:20:15 2016
@@ -169,11 +169,11 @@
 </div></div><p>A component may have any number of parameters. Each parameter 
has a specific name, a specific Java type (which may be a primitive value), and 
may be <em>optional</em> or <em>required</em>.</p><p>Within a component class, 
parameters are declared by using the @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Parameter.html";>Parameter</a>
 annotation on a private field, as we'll see below.</p><p><span 
class="confluence-anchor-link" 
id="ComponentParameters-bindingparameters"></span></p><h1 
id="ComponentParameters-ParameterBindings">Parameter Bindings</h1><p>In 
Tapestry, a parameter is not a slot into which data is pushed: it is a 
<em>connection</em> between a field of the component (marked with the 
@Parameter annotation) and a property or resource of the component's container. 
(Components can be nested, so the container can be either the page or another 
component.)</p><div class="navmenu" style="float:right; backgr
 ound:white; margin:3px; padding:3px">
 <div class="panel" style="border-width: 1px;"><div class="panelHeader" 
style="border-bottom-width: 1px;"><b>Contents</b></div><div 
class="panelContent">
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1447035645438 {padding: 0px;}
-div.rbtoc1447035645438 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1447035645438 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463689166558 {padding: 0px;}
+div.rbtoc1463689166558 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463689166558 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1447035645438">
+/*]]>*/</style><div class="toc-macro rbtoc1463689166558">
 <ul class="toc-indentation"><li><a  
href="#ComponentParameters-ParameterBindings">Parameter Bindings</a></li><li><a 
 href="#ComponentParameters-BindingExpressions">Binding 
Expressions</a></li><li><a  
href="#ComponentParameters-@Parameterannotation">@Parameter 
annotation</a></li><li><a  
href="#ComponentParameters-Don'tusethe${...}syntax!">Don't use the ${...} 
syntax!</a></li><li><a  href="#ComponentParameters-InformalParameters">Informal 
Parameters</a></li><li><a  
href="#ComponentParameters-ParametersAreBi-Directional">Parameters Are 
Bi-Directional</a></li><li><a  
href="#ComponentParameters-InheritedParameterBindings">Inherited Parameter 
Bindings</a></li><li><a  
href="#ComponentParameters-ComputedParameterBindingDefaults">Computed Parameter 
Binding Defaults</a></li><li><a  
href="#ComponentParameters-UnboundParameters">Unbound Parameters</a></li><li><a 
 href="#ComponentParameters-ParameterTypeCoercion">Parameter Type 
Coercion</a></li><li><a  href="#ComponentParameters-ParameterNames">
 Parameter Names</a></li><li><a  
href="#ComponentParameters-DeterminingifBound">Determining if 
Bound</a></li><li><a  
href="#ComponentParameters-PublishingParameters">Publishing 
Parameters</a></li></ul>
 </div>
 </div></div></div>&#160;<p>The connection between a component and a property 
(or resource) of its container is called a <em>binding</em>. The binding is 
two-way: the component can read the bound property by reading its parameter 
field. Likewise, a component that updates its parameter field will update the 
bound property.</p><p>This is important in a lot of cases; for example a 
TextField component can read <em>and update</em> the property bound to its 
value parameter. It reads the value when rendering, but updates the value when 
the form is submitted.</p><p>The component listed below is a looping component; 
it renders its body a number of times, defined by its <code>start</code> and 
<code>end</code> parameters (which set the boundaries of the loop). The 
component can update a <code>result</code> parameter bound to a property of its 
container; it will automatically count up or down depending on whether 
<code>start</code> or <code>end</code> is larger.</p><div class="code panel 
pdl" st
 yle="border-width: 1px;"><div class="codeContent panelContent pdl">

Modified: websites/production/tapestry/content/configuration.html
==============================================================================
--- websites/production/tapestry/content/configuration.html (original)
+++ websites/production/tapestry/content/configuration.html Thu May 19 20:20:15 
2016
@@ -136,11 +136,11 @@
                     </div>
     </li></ul>
 </div><h1 id="Configuration-ConfiguringTapestry">Configuring 
Tapestry</h1><p>This page discusses all the ways in which Tapestry can be 
configured. Tapestry applications are configured almost entirely using Java, 
with very little XML at all.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1455585603462 {padding: 0px;}
-div.rbtoc1455585603462 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1455585603462 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463689167342 {padding: 0px;}
+div.rbtoc1463689167342 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463689167342 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1455585603462">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463689167342">
 <ul class="toc-indentation"><li><a  
href="#Configuration-XMLconfiguration(web.xml)">XML configuration 
(web.xml)</a></li><li><a  
href="#Configuration-YourApplication'sModuleClass">Your Application's Module 
Class</a></li><li><a  
href="#Configuration-ConfigurationSymbolNames">Configuration Symbol 
Names</a></li><li><a  
href="#Configuration-SettingComponentParameterDefaults">Setting Component 
Parameter Defaults</a></li><li><a  
href="#Configuration-ConfiguringIgnoredPaths">Configuring Ignored 
Paths</a></li><li><a  
href="#Configuration-ConfiguringContentTypeMapping">Configuring Content Type 
Mapping</a></li><li><a  href="#Configuration-SettingExecutionModes">Setting 
Execution Modes</a></li></ul>
 </div><h2 id="Configuration-XMLconfiguration(web.xml)">XML configuration 
(web.xml)</h2><p>Tapestry runs on top of the standard Java Servlet API. To the 
servlet container, such as Tomcat, Tapestry appears as a <em>servlet 
filter</em>. This gives Tapestry great flexibility in matching URLs without 
requiring lots of XML configuration.</p><p>Although most configuration is done 
with Java, a small but necessary amount of configuration occurs inside the 
servlet deployment descriptor, WEB-INF/web.xml. Most of the configuration is 
boilerplate, nearly the same for all applications.</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>web.xml (partial)</b></div><div 
class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;!DOCTYPE web-app

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 May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="switching-cases.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Switching Cases</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="extending-the-if-component.html" rel="next">
-                <span class="title">Extending the If Component</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div>
+                <div id="ConfluenceContent">
 <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 May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>    
-</p><div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="overriding-exception-reporting.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Overriding Exception 
Reporting</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="supporting-informal-parameters.html" rel="next">
-                <span class="title">Supporting Informal Parameters</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h1 id="ErrorPageRecipe-ServingTapestryPagesasServletErrorPages">Serving 
Tapestry Pages as Servlet Error Pages</h1><p>Do you want to dress up your site 
and use a snazzy Tapestry page instead of the default 404 error page? Using 
modern servlet containers, this is a snap!</p><div class="aui-label" 
style="float:right" title="Related Articles">
+                <div id="ConfluenceContent"><h1 
id="ErrorPageRecipe-ServingTapestryPagesasServletErrorPages">Serving Tapestry 
Pages as Servlet Error Pages</h1><p>Do you want to dress up your site and use a 
snazzy Tapestry page instead of the default 404 error page? Using modern 
servlet containers, this is a snap!</p><div class="aui-label" 
style="float:right" title="Related Articles">
 
 
 

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 May 19 
20:20:15 2016
@@ -254,13 +254,13 @@ public class Index
 
 
 
-<span class="gliffy-container" id="gliffy-container-24346949-2001" 
data-fullwidth="913" data-ceoid="24188263" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Templates and 
Parameters">
+<span class="gliffy-container" id="gliffy-container-24346949-9967" 
data-fullwidth="913" data-ceoid="24188263" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Templates and 
Parameters">
 
-    <map id="gliffy-map-24346949-1823" name="gliffy-map-24346949-1823"></map>
+    <map id="gliffy-map-24346949-1551" name="gliffy-map-24346949-1551"></map>
 
-    <img class="gliffy-image gliffy-image-border" 
id="gliffy-image-24346949-2001" 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";
 alt="Templates and Parameters" usemap="#gliffy-map-24346949-1823">
+    <img class="gliffy-image gliffy-image-border" 
id="gliffy-image-24346949-9967" 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";
 alt="Templates and Parameters" usemap="#gliffy-map-24346949-1551">
 
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-24346949-2001" 
name="gliffy-dynamic-map-24346949-2001"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-24346949-9967" 
name="gliffy-dynamic-map-24346949-9967"></map>
 </span>
 
 

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 
May 19 20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="enum-parameter-recipe.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Enum Parameter 
Recipe</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="meta-programming-page-content.html" rel="next">
-                <span class="title">Meta-Programming Page Content</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h1 id="ExtendingtheIfComponent-ExtendingtheIfComponent">Extending the 
If Component</h1><p>The <a  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  href="type-coercion.html">coerced</a> to 
boolean.</p><p>For example, you may be working on an application that does a 
lot of <a  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">
+                <div id="ConfluenceContent"><h1 
id="ExtendingtheIfComponent-ExtendingtheIfComponent">Extending the If 
Component</h1><p>The <a  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  href="type-coercion.html">coerced</a> to 
boolean.</p><p>For example, you may be working on an application that does a 
lot of <a  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">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">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-form-components-faq.html
==============================================================================
--- websites/production/tapestry/content/forms-and-form-components-faq.html 
(original)
+++ websites/production/tapestry/content/forms-and-form-components-faq.html Thu 
May 19 20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="page-and-component-classes-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Page And Component Classes 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="beaneditform-faq.html" rel="next">
-                <span class="title">BeanEditForm FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="FormsandFormComponentsFAQ-FormsandFormComponents">Forms and Form 
Components</h2><p>Main article: <a  href="forms-and-validation.html">Forms and 
Validation</a></p><h3 
id="FormsandFormComponentsFAQ-Whatisthet:formdatahiddenfieldfor?">What is the 
<code>t:formdata</code> hidden field for?</h3><p>In Tapestry, rendering a form 
can be a complicated process; inside the body of the Form component are many of 
field components: TextField, Select, TextArea, and so forth. Each of these must 
pull data out of your data model and convert it to the string form used inside 
the client web browser. In addition, JavaScript to support client-side 
validation must be generated. This can be further complicated by the use of 
Loop and If components, or made really complicated by the use of Block (to 
render portions of other pages: this is what the BeanEditForm component 
does).</p><p>Along the way, the Form is generating unique form control names 
for each field component, as it renders.</p><p>Whe
 n the client-side Form is submitted, an event is triggered on the server-side 
Form component. It now needs to locate each component, in turn, inform the 
component of its control name, and allow the component to read the 
corresponding query parameter. The component then converts the client-side 
string back into a server-side value and performs validations before updating 
the data model.</p><p>That's where <code>t:formdata</code> comes in. While 
components are rendering, they are using the FormSupport environmental object 
to record callbacks:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>FormSupport.java (partial)</b></div><div class="codeContent 
panelContent pdl">
+                <div id="ConfluenceContent"><h2 
id="FormsandFormComponentsFAQ-FormsandFormComponents">Forms and Form 
Components</h2><p>Main article: <a  href="forms-and-validation.html">Forms and 
Validation</a></p><h3 
id="FormsandFormComponentsFAQ-Whatisthet:formdatahiddenfieldfor?">What is the 
<code>t:formdata</code> hidden field for?</h3><p>In Tapestry, rendering a form 
can be a complicated process; inside the body of the Form component are many of 
field components: TextField, Select, TextArea, and so forth. Each of these must 
pull data out of your data model and convert it to the string form used inside 
the client web browser. In addition, JavaScript to support client-side 
validation must be generated. This can be further complicated by the use of 
Loop and If components, or made really complicated by the use of Block (to 
render portions of other pages: this is what the BeanEditForm component 
does).</p><p>Along the way, the Form is generating unique form control names 
for each fie
 ld component, as it renders.</p><p>When the client-side Form is submitted, an 
event is triggered on the server-side Form component. It now needs to locate 
each component, in turn, inform the component of its control name, and allow 
the component to read the corresponding query parameter. The component then 
converts the client-side string back into a server-side value and performs 
validations before updating the data model.</p><p>That's where 
<code>t:formdata</code> comes in. While components are rendering, they are 
using the FormSupport environmental object to record callbacks:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>FormSupport.java 
(partial)</b></div><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: true; theme: Default" 
style="font-size:12px;">public interface FormSupport extends ClientElement
 {
     /**
@@ -128,30 +105,7 @@
 </div></div><p>The "prop:" prefix identifies that "usernameLabel" is to be 
interpreted as a property expression (normally, the binding for the 
<code>label</code> parameter is interpreted as a string literal). The Label 
component gets the text it displays from the TextField component, and the 
TextField component uses the same text when generating server-side and 
client-side validation messages.</p><h3 
id="FormsandFormComponentsFAQ-Tapestryfocusesonthewrongfieldinmyform,howdoIfixthat?">Tapestry
 focuses on the wrong field in my form, how do I fix that?</h3><p>Tapestry 
normally figures out the correct field in your form to initially receive focus; 
this is based on assigning a <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/FieldFocusPriority.html";>FieldFocusPriority</a>
 to each field as it renders, which works out to the following 
logic:</p><ul><li>The first field which has an error</li><li>Or, the first 
field which is required</li><li>Or,
  the first field</li></ul><p>Occasionally, due a wide range of factors beyond 
Tapestry's control, it's selection will not be quite what you want, and it is 
necessary to supply an override. The information is tracked inside the <a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/JavaScriptSupport.html";>JavaScriptSupport</a>
 environmental. It's just a matter of injecting the component so that you can 
determine its client id, then informing JavaScriptSupport about your 
override.</p><p>Here's an example</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">  &lt;t:textfield t:id="email" 
t:mixins="OverrideFieldFocus" .../&gt;
 </pre>
-</div></div><p>The <a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/OverrideFieldFocus.html";>OverrideFieldFocus</a>
 mixin forces the email field to be the focus field, regardless.</p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="page-and-component-classes-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Page And Component Classes 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="beaneditform-faq.html" rel="next">
-                <span class="title">BeanEditForm FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div></div><p>The <a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/OverrideFieldFocus.html";>OverrideFieldFocus</a>
 mixin forces the email field to be the focus field, regardless.</p></div>
       </div>
 
       <div class="clearer"></div>

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 May 19 
20:20:15 2016
@@ -109,11 +109,11 @@
                     </div>
     </li></ul>
 </div><p>&#160;</p><p>Tapestry provides support for creating and rendering 
forms, populating their fields, and validating user input. For simple cases, 
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 (optionally) on the client as well. In addition, you can provide event 
handler methods&#160;in your page or component classes to handle more complex 
validation scenarios.</p><p>Finally, Tapestry not only makes it easy to present 
errors messages to the user, but it can also automatically highlight form 
fields when validation fails.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1459635580406 {padding: 0px;}
-div.rbtoc1459635580406 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1459635580406 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463689169072 {padding: 0px;}
+div.rbtoc1463689169072 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463689169072 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1459635580406">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463689169072">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a  href="#FormsandValidation-TheFormComponent">The Form 
Component</a></li><li><a  href="#FormsandValidation-FormEvents">Form 
Events</a></li><li><a  href="#FormsandValidation-HandlingEvents">Handling 
Events</a></li><li><a  
href="#FormsandValidation-TrackingValidationErrors">Tracking Validation 
Errors</a></li><li><a  
href="#FormsandValidation-StoringDataBetweenRequests">Storing Data Between 
Requests</a></li><li><a  
href="#FormsandValidation-ConfiguringFieldsandLabels">Configuring Fields and 
Labels</a></li><li><a  
href="#FormsandValidation-CentralizingValidationwith@Validate">Centralizing 
Validation with @Validate</a></li><li><a  
href="#FormsandValidation-ServerSideValidation">Server Side 
Validation</a></li><li><a  
href="#FormsandValidation-CustomizingValidationMessages">Customizing Validation 
Messages</a>
 <ul class="toc-indentation"><li><a  
href="#FormsandValidation-CustomizingValidationMessagesforBeanEditForm">Customizing
 Validation Messages for BeanEditForm</a></li></ul>

Modified: websites/production/tapestry/content/general-questions.html
==============================================================================
--- websites/production/tapestry/content/general-questions.html (original)
+++ websites/production/tapestry/content/general-questions.html Thu May 19 
20:20:15 2016
@@ -69,54 +69,16 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
+                <div id="ConfluenceContent"><h2 
id="GeneralQuestions-GeneralQuestions">General Questions</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1463689171619 {padding: 0px;}
+div.rbtoc1463689171619 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463689171619 li {margin-left: 0px;padding-left: 0px;}
 
-            </div>
-    <div class="next">
-        <a  href="templating-and-markup-faq.html" rel="next">
-                <span class="title">Templating and Markup FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="GeneralQuestions-GeneralQuestions">General 
Questions</h2><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1447035631056 {padding: 0px;}
-div.rbtoc1447035631056 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1447035631056 li {margin-left: 0px;padding-left: 0px;}
-
-/*]]>*/</style></p><div class="toc-macro rbtoc1447035631056">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463689171619">
 <ul class="toc-indentation"><li><a  
href="#GeneralQuestions-GeneralQuestions">General Questions</a>
 <ul class="toc-indentation"><li><a  
href="#GeneralQuestions-HowdoIgetstartedwithTapestry?">How do I get started 
with Tapestry?</a></li><li><a  
href="#GeneralQuestions-WhydoesTapestryusePrototype?WhynotinsertfavoriteJavaScriptlibraryhere?">Why
 does Tapestry use Prototype? Why not insert favorite JavaScript library 
here?</a></li><li><a  
href="#GeneralQuestions-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why
 does Tapestry have its own Inversion of Control Container? Why not Spring or 
Guice?</a></li><li><a  
href="#GeneralQuestions-HowdoIupgradefromTapestry4toTapestry5?">How do I 
upgrade from Tapestry 4 to Tapestry 5?</a></li><li><a  
href="#GeneralQuestions-HowdoIupgradefromoneversionofTapestry5toanother?">How 
do I upgrade from one version of Tapestry 5 to another?</a></li></ul>
 </li></ul>
-</div><h3 id="GeneralQuestions-HowdoIgetstartedwithTapestry?">How do I get 
started with Tapestry?</h3><p>The easiest way to get started is to use <a  
class="external-link" href="http://maven.apache.org";>Apache Maven</a> to create 
your initial project; Maven can use an <em>archetype</em> (a kind of project 
template) to create a bare-bones Tapestry application for you. See the <a  
href="getting-started.html">Getting Started</a> page for more 
details.</p><p>Even without Maven, Tapestry is quite easy to set up. You just 
need to <a  href="download.html">download</a> the binaries and setup your build 
to place them inside your WAR's WEB-INF/lib folder. The rest is just some 
one-time <a  href="configuration.html">configuration of the web.xml deployment 
descriptor</a>.</p><h3 
id="GeneralQuestions-WhydoesTapestryusePrototype?WhynotinsertfavoriteJavaScriptlibraryhere?">Why
 does Tapestry use Prototype? Why not <em>insert favorite JavaScript library 
here</em>?</h3><p>An important goal for Tapest
 ry is seamless DHTML and Ajax integration. To serve that goal, it was 
important that the built in components be capable of Ajax operations, such as 
dynamically re-rendering parts of the page. Because of that, it made sense to 
bundle a well-known JavaScript library as part of Tapestry.</p><p>At the time 
(this would be 2006-ish), Prototype and Scriptaculous were well known and well 
documented, and jQuery was just getting started.</p><p>The intent has always 
been to make this aspect of Tapestry pluggable. Tapestry 5.4 includes the 
option of either Prototype or jQuery Tapestry 5.5 will remove Prototype as an 
option..</p><h3 
id="GeneralQuestions-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why
 does Tapestry have its own Inversion of Control Container? Why not Spring or 
Guice?</h3><p>An Inversion of Control Container is <em>the</em> key piece of 
Tapestry's infrastructure. It is absolutely necessary to create software as 
robust, performant ,and extensible as T
 apestry.</p><p>Tapestry IoC includes a number of features that distinguish 
itself from other containers:</p><ul><li>Configured in code, not 
XML</li><li>Built-in extension mechanism for services: configurations and 
contributions</li><li>Built-in aspect oriented programming model (service 
decorations and advice)</li><li>Easy modularization</li><li>Best-of-breed 
exception reporting</li></ul><p>Because Tapestry is implemented on top of its 
IoC container, and because the container makes it easy to extend or replace any 
service inside the container, it is possible to make the small changes to 
Tapestry needed to customize it to any project's needs.</p><h3 
id="GeneralQuestions-HowdoIupgradefromTapestry4toTapestry5?">How do I upgrade 
from Tapestry 4 to Tapestry 5?</h3><p>There is no existing tool that supports 
upgrading from Tapestry 4 to Tapestry 5; Tapestry 5 is a complete 
rewrite.</p><p>Many of the basic concepts in Tapestry 4 are still present in 
Tapestry 5, but refactored, improved, str
 eamlined, and simplified. The basic concept of pages, templates and components 
are largely the same. Other aspects, such as server-side event handling, is 
markedly different.</p><h3 
id="GeneralQuestions-HowdoIupgradefromoneversionofTapestry5toanother?">How do I 
upgrade from one version of Tapestry 5 to another?</h3><p>A lot of effort goes 
into making an upgrade from one Tapestry 5 release to another go smoothly. In 
the general case, it is just a matter of updating the version number in your 
Maven <code>build.xml</code> or Gradle <code>build.gradle</code> file and 
executing the appropriate commands (e.g., <code>gradle idea</code> or <code>mvn 
eclipse:eclipse</code>) to bring your local workspace up to date with the 
latest binaries.</p><p>After changing dependencies, you should always perform a 
clean recompile of your application.</p><p>We make every effort to ensure 
backwards-compatibility. Tapestry is mostly coded in terms of interfaces; those 
interfaces are stable to a point: inter
 faces your code is expected to implement are usually completely frozen; 
interfaces your code is expected to invoke, such as the interfaces to IoC 
services, are stable, but may have new methods added in a release; existing 
methods are not changed.</p><p>In <em>rare</em> cases a choice is necessary 
between fixing bugs (or adding essential functionality) and maintaining 
complete backwards compatibility; in those cases, an incompatible change may be 
introduced. These are always discussed in detail in the <a  
href="release-notes.html">Release Notes</a> for the specific release. You 
should always read the release notes before attempting an upgrade, and always 
(really, <em>always</em>) be prepared to retest your application 
afterwards.</p><p>Note that you should be careful any time you make use of 
<strong>internal</strong> APIs (you can tell an API is internal by the package 
name, <code>org.apache.tapestry5.internal...</code>. Internal APIs may change 
<em>at any time</em>; there's no guara
 ntee of backwards compatibility. Please always check on the documentation, or 
consult the user mailing list, to see if there's a stable, public alternative. 
If you do make use of internal APIs, be sure to get a discussion going so that 
your needs can be met in the future by a stable, public API.</p><p><span 
style="color: rgb(83,145,38);font-size: 16.0px;line-height: 1.5625;">Why are 
there both Request and HttpServletRequest?</span></p><p>Tapestry's Request 
interface is <em>very</em> close to the standard HttpServletRequest interface. 
It differs in a few ways, omitting some unneeded methods, and adding a couple 
of new methods (such as <code>isXHR()</code>), as well as changing how some 
existing methods operate. For example, <code>getParameterNames()</code> returns 
a sorted List of Strings; HttpServletRequest returns an Enumeration, which is a 
very dated approach.</p><p>However, the stronger reason for Request (and the 
related interfaces Response and Session) is to enable the support 
 for Portlets at some point in the future. By writing code in terms of 
Tapestry's Request, and not HttpServletRequest, you can be assured that the 
same code will operate in both Servlet Tapestry and Portlet Tapestry.</p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="templating-and-markup-faq.html" rel="next">
-                <span class="title">Templating and Markup FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div><h3 id="GeneralQuestions-HowdoIgetstartedwithTapestry?">How do I get 
started with Tapestry?</h3><p>The easiest way to get started is to use <a  
class="external-link" href="http://maven.apache.org";>Apache Maven</a> to create 
your initial project; Maven can use an <em>archetype</em> (a kind of project 
template) to create a bare-bones Tapestry application for you. See the <a  
href="getting-started.html">Getting Started</a> page for more 
details.</p><p>Even without Maven, Tapestry is quite easy to set up. You just 
need to <a  href="download.html">download</a> the binaries and setup your build 
to place them inside your WAR's WEB-INF/lib folder. The rest is just some 
one-time <a  href="configuration.html">configuration of the web.xml deployment 
descriptor</a>.</p><h3 
id="GeneralQuestions-WhydoesTapestryusePrototype?WhynotinsertfavoriteJavaScriptlibraryhere?">Why
 does Tapestry use Prototype? Why not <em>insert favorite JavaScript library 
here</em>?</h3><p>An important goal for Tapest
 ry is seamless DHTML and Ajax integration. To serve that goal, it was 
important that the built in components be capable of Ajax operations, such as 
dynamically re-rendering parts of the page. Because of that, it made sense to 
bundle a well-known JavaScript library as part of Tapestry.</p><p>At the time 
(this would be 2006-ish), Prototype and Scriptaculous were well known and well 
documented, and jQuery was just getting started.</p><p>The intent has always 
been to make this aspect of Tapestry pluggable. Tapestry 5.4 includes the 
option of either Prototype or jQuery Tapestry 5.5 will remove Prototype as an 
option..</p><h3 
id="GeneralQuestions-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why
 does Tapestry have its own Inversion of Control Container? Why not Spring or 
Guice?</h3><p>An Inversion of Control Container is <em>the</em> key piece of 
Tapestry's infrastructure. It is absolutely necessary to create software as 
robust, performant ,and extensible as T
 apestry.</p><p>Tapestry IoC includes a number of features that distinguish 
itself from other containers:</p><ul><li>Configured in code, not 
XML</li><li>Built-in extension mechanism for services: configurations and 
contributions</li><li>Built-in aspect oriented programming model (service 
decorations and advice)</li><li>Easy modularization</li><li>Best-of-breed 
exception reporting</li></ul><p>Because Tapestry is implemented on top of its 
IoC container, and because the container makes it easy to extend or replace any 
service inside the container, it is possible to make the small changes to 
Tapestry needed to customize it to any project's needs.</p><h3 
id="GeneralQuestions-HowdoIupgradefromTapestry4toTapestry5?">How do I upgrade 
from Tapestry 4 to Tapestry 5?</h3><p>There is no existing tool that supports 
upgrading from Tapestry 4 to Tapestry 5; Tapestry 5 is a complete 
rewrite.</p><p>Many of the basic concepts in Tapestry 4 are still present in 
Tapestry 5, but refactored, improved, str
 eamlined, and simplified. The basic concept of pages, templates and components 
are largely the same. Other aspects, such as server-side event handling, is 
markedly different.</p><h3 
id="GeneralQuestions-HowdoIupgradefromoneversionofTapestry5toanother?">How do I 
upgrade from one version of Tapestry 5 to another?</h3><p>A lot of effort goes 
into making an upgrade from one Tapestry 5 release to another go smoothly. In 
the general case, it is just a matter of updating the version number in your 
Maven <code>build.xml</code> or Gradle <code>build.gradle</code> file and 
executing the appropriate commands (e.g., <code>gradle idea</code> or <code>mvn 
eclipse:eclipse</code>) to bring your local workspace up to date with the 
latest binaries.</p><p>After changing dependencies, you should always perform a 
clean recompile of your application.</p><p>We make every effort to ensure 
backwards-compatibility. Tapestry is mostly coded in terms of interfaces; those 
interfaces are stable to a point: inter
 faces your code is expected to implement are usually completely frozen; 
interfaces your code is expected to invoke, such as the interfaces to IoC 
services, are stable, but may have new methods added in a release; existing 
methods are not changed.</p><p>In <em>rare</em> cases a choice is necessary 
between fixing bugs (or adding essential functionality) and maintaining 
complete backwards compatibility; in those cases, an incompatible change may be 
introduced. These are always discussed in detail in the <a  
href="release-notes.html">Release Notes</a> for the specific release. You 
should always read the release notes before attempting an upgrade, and always 
(really, <em>always</em>) be prepared to retest your application 
afterwards.</p><p>Note that you should be careful any time you make use of 
<strong>internal</strong> APIs (you can tell an API is internal by the package 
name, <code>org.apache.tapestry5.internal...</code>. Internal APIs may change 
<em>at any time</em>; there's no guara
 ntee of backwards compatibility. Please always check on the documentation, or 
consult the user mailing list, to see if there's a stable, public alternative. 
If you do make use of internal APIs, be sure to get a discussion going so that 
your needs can be met in the future by a stable, public API.</p><p><span 
style="color: rgb(83,145,38);font-size: 16.0px;line-height: 1.5625;">Why are 
there both Request and HttpServletRequest?</span></p><p>Tapestry's Request 
interface is <em>very</em> close to the standard HttpServletRequest interface. 
It differs in a few ways, omitting some unneeded methods, and adding a couple 
of new methods (such as <code>isXHR()</code>), as well as changing how some 
existing methods operate. For example, <code>getParameterNames()</code> returns 
a sorted List of Strings; HttpServletRequest returns an Enumeration, which is a 
very dated approach.</p><p>However, the stronger reason for Request (and the 
related interfaces Response and Session) is to enable the support 
 for Portlets at some point in the future. By writing code in terms of 
Tapestry's Request, and not HttpServletRequest, you can be assured that the 
same code will operate in both Servlet Tapestry and Portlet Tapestry.</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/hibernate-support-faq.html
==============================================================================
--- websites/production/tapestry/content/hibernate-support-faq.html (original)
+++ websites/production/tapestry/content/hibernate-support-faq.html Thu May 19 
20:20:15 2016
@@ -69,53 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="specific-errors-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Specific Errors FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="maven-support-faq.html" rel="next">
-                <span class="title">Maven Support FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="HibernateSupportFAQ-HibernateSupport">Hibernate 
Support</h2><p>Main article: <a  href="hibernate.html">Hibernate</a></p><h3 
id="HibernateSupportFAQ-HowdoIgetHibernatetostartupupwhentheapplicationstartsup,ratherthanlazilywiththefirstrequestfortheapplication?">How
 do I get Hibernate to startup up when the application starts up, rather than 
lazily with the first request for the application?</h3><p>This was a minor 
problem in 5.0; by 5.1 it is just a matter of overriding the configuration 
system <code>tapestry.hibernate-early-startup</code> to "true".</p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="specific-errors-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Specific Errors FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="maven-support-faq.html" rel="next">
-                <span class="title">Maven Support FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+                <div id="ConfluenceContent"><h2 
id="HibernateSupportFAQ-HibernateSupport">Hibernate Support</h2><p>Main 
article: <a  href="hibernate.html">Hibernate</a></p><h3 
id="HibernateSupportFAQ-HowdoIgetHibernatetostartupupwhentheapplicationstartsup,ratherthanlazilywiththefirstrequestfortheapplication?">How
 do I get Hibernate to startup up when the application starts up, rather than 
lazily with the first request for the application?</h3><p>This was a minor 
problem in 5.0; by 5.1 it is just a matter of overriding the configuration 
system <code>tapestry.hibernate-early-startup</code> to "true".</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/injection-faq.html
==============================================================================
--- websites/production/tapestry/content/injection-faq.html (original)
+++ websites/production/tapestry/content/injection-faq.html Thu May 19 20:20:15 
2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="ajax-components-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Ajax Components FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="tapestry-inversion-of-control-faq.html" rel="next">
-                <span class="title">Tapestry Inversion of Control FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="InjectionFAQ-Injection">Injection</h2><p>Main article: <a  
href="injection.html">Injection</a></p><h3 
id="InjectionFAQ-What'sthedifferencebetweenthe@Componentand@InjectComponentannotations?">What's
 the difference between the <code>@Component</code> and 
<code>@InjectComponent</code> annotations?</h3><p>The <code>@Component</code> 
annotation is used to define the <em>type</em> of component, and its parameter 
bindings. When using <code>@Component</code>, the template must not define the 
type, and any parameter bindings are merged in:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><h2 
id="InjectionFAQ-Injection">Injection</h2><p>Main article: <a  
href="injection.html">Injection</a></p><h3 
id="InjectionFAQ-What'sthedifferencebetweenthe@Componentand@InjectComponentannotations?">What's
 the difference between the <code>@Component</code> and 
<code>@InjectComponent</code> annotations?</h3><p>The <code>@Component</code> 
annotation is used to define the <em>type</em> of component, and its parameter 
bindings. When using <code>@Component</code>, the template must not define the 
type, and any parameter bindings are merged in:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: true; theme: Default" 
style="font-size:12px;">  &lt;a t:id="home" class="nav"&gt;Back to 
home&lt;/a&gt;
 </pre>
 </div></div><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
@@ -157,30 +134,7 @@
         return shadowBuilder.build(requestGlobals, "request", Request.class);
     }
 </pre>
-</div></div><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/RequestGlobals.html";>RequestGlobals</a>
 is a per-thread service. The Request service is a global singleton created by 
the <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/services/PropertyShadowBuilder.html";>PropertyShadowBuilder</a>
 service, but is just a proxy. It has no internal state; invoking a method on 
the Request service just turns around and extracts the Request object from the 
per-thread RequestGlobals and invokes the same method there.</p><h3 
id="InjectionFAQ-Iuse@Injectonafieldtoinjectaservice,butthefieldisstillnull,whathappened?">I
 use <code>@Inject</code> on a field to inject a service, but the field is 
still null, what happened?</h3><p>This can happen when you use the wrong 
<code>@Inject</code> annotation; for example, com.google.inject.Inject instead 
of org.apache.tapestry5.ioc.annotations.Inject. T
 his can occur when you have TestNG on the classpath, for example, and your IDE 
is too helpful. Double check your imports when things seem weird.</p><p>Also 
remember that <code>@Inject</code> on fields works for components and for 
service implementations or other objects that Tapestry instantiates, but not on 
arbitrary objects (that are created via Java's new keyword).</p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="ajax-components-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Ajax Components FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="tapestry-inversion-of-control-faq.html" rel="next">
-                <span class="title">Tapestry Inversion of Control FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div></div><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/RequestGlobals.html";>RequestGlobals</a>
 is a per-thread service. The Request service is a global singleton created by 
the <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/services/PropertyShadowBuilder.html";>PropertyShadowBuilder</a>
 service, but is just a proxy. It has no internal state; invoking a method on 
the Request service just turns around and extracts the Request object from the 
per-thread RequestGlobals and invokes the same method there.</p><h3 
id="InjectionFAQ-Iuse@Injectonafieldtoinjectaservice,butthefieldisstillnull,whathappened?">I
 use <code>@Inject</code> on a field to inject a service, but the field is 
still null, what happened?</h3><p>This can happen when you use the wrong 
<code>@Inject</code> annotation; for example, com.google.inject.Inject instead 
of org.apache.tapestry5.ioc.annotations.Inject. T
 his can occur when you have TestNG on the classpath, for example, and your IDE 
is too helpful. Double check your imports when things seem weird.</p><p>Also 
remember that <code>@Inject</code> on fields works for components and for 
service implementations or other objects that Tapestry instantiates, but not on 
arbitrary objects (that are created via Java's new keyword).</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/integrating-with-jpa.html
==============================================================================
--- websites/production/tapestry/content/integrating-with-jpa.html (original)
+++ websites/production/tapestry/content/integrating-with-jpa.html Thu May 19 
20:20:15 2016
@@ -74,11 +74,11 @@
 </div></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;">
 <p>&#160;</p></div><p>Starting with Tapestry 5.3, Tapestry provides built-in 
integration with the Java Persistence API (JPA). This module supersedes <a  
class="external-link" href="http://tynamo.org/tapestry-jpa+guide"; 
rel="nofollow">Tynamo's JPA 
integration</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1447035649472 {padding: 0px;}
-div.rbtoc1447035649472 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1447035649472 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463689189996 {padding: 0px;}
+div.rbtoc1463689189996 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463689189996 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1447035649472">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463689189996">
 <ul class="toc-indentation"><li><a  
href="#IntegratingwithJPA-ConfiguringJPA">Configuring JPA</a>
 <ul class="toc-indentation"><li><a  
href="#IntegratingwithJPA-XML-lessJPAconfiguration">XML-less JPA 
configuration</a></li><li><a  
href="#IntegratingwithJPA-Automaticallyaddingmanagedclasses">Automatically 
adding managed classes</a></li></ul>
 </li><li><a  href="#IntegratingwithJPA-InjectingtheEntityManager">Injecting 
the EntityManager</a>

Modified: 
websites/production/tapestry/content/integrating-with-spring-framework.html
==============================================================================
--- websites/production/tapestry/content/integrating-with-spring-framework.html 
(original)
+++ websites/production/tapestry/content/integrating-with-spring-framework.html 
Thu May 19 20:20:15 2016
@@ -99,11 +99,11 @@
                     </div>
     </li></ul>
 </div><p>For integrating Spring Security into your application, see <a  
href="security.html">Security</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1447035570122 {padding: 0px;}
-div.rbtoc1447035570122 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1447035570122 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463689181350 {padding: 0px;}
+div.rbtoc1463689181350 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463689181350 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1447035570122">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463689181350">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a  href="#IntegratingwithSpringFramework-SpringVersion">Spring 
Version</a></li><li><a  href="#IntegratingwithSpringFramework-Usage">Usage</a>
 <ul class="toc-indentation"><li><a  
href="#IntegratingwithSpringFramework-Requireddependency">Required 
dependency</a></li><li><a  
href="#IntegratingwithSpringFramework-Updateyourweb.xmlfile">Update your 
web.xml file</a></li><li><a  
href="#IntegratingwithSpringFramework-AccessingtheSpringApplicationContext">Accessing
 the Spring Application Context</a></li><li><a  
href="#IntegratingwithSpringFramework-Injectingbeans">Injecting 
beans</a></li><li><a  
href="#IntegratingwithSpringFramework-InjectingTapestryservicesinSpringbeans">Injecting
 Tapestry services in Spring beans</a></li></ul>



Reply via email to