Modified: 
websites/production/tapestry/content/implementing-the-hi-lo-guessing-game.html
==============================================================================
--- 
websites/production/tapestry/content/implementing-the-hi-lo-guessing-game.html 
(original)
+++ 
websites/production/tapestry/content/implementing-the-hi-lo-guessing-game.html 
Sun Dec 14 13:20:36 2014
@@ -74,7 +74,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="exploring-the-project.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="exploring-the-project.html">Exploring the 
Project</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" 
width="33%"><sup><a shape="rect" href="tapestry-tutorial.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="tapestry-tutorial.html">Tapestry 
Tutorial</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" 
width="33%">&#160;<a shape="rect" 
href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To 
Create User Forms</a></td><td colspan="1" rowspan="1" class="Sc
 rollbarNextIcon"><a shape="rect" 
href="using-beaneditform-to-create-user-forms.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><span style="line-height: 
1.4285715;">Let's start building a basic Hi-Lo Guessing game.</span></p><p>In 
the game, the computer selects a number between 1 and 10. You try and guess the 
number, clicking links. At the end, the computer tells you how many guesses you 
required to identify the target number. Even a simple example like this will 
demonstrate several important concepts in Tapestry:</p><ul><li>Breaking an 
application into individual pages</li><li>Transferring information from one 
page to another</li><li>Responding to user interactions</li><li>Storing client 
information in the server-side session</li></ul><p>We'll build this little 
application in small pieces, using the kind of iterative development that 
Tapestry makes so easy.</p><p><img clas
 s="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/hilo-flow.png?version=2&amp;modificationDate=1286814202000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/hilo-flow.png?version=2&amp;modificationDate=1286814202000&amp;api=v2"></p><p>Our
 page flow is very simple, consisting of three pages: Index (the starting 
page), Guess and GameOver. The Index page introduces the application and 
includes a link to start guessing. The Guess page presents the user with ten 
links, plus feedback such as "too low" or "too high". The GameOver page tells 
the user how many guesses they took before finding the target number.</p><h1 
id="ImplementingtheHi-LoGuessingGame-IndexPage">Index Page</h1><p>Let's get to 
work on the Index page and template. Make Index.tml look like this:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Index.tml</b></div><div c
 lass="codeContent panelContent pdl">
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td 
colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" 
href="exploring-the-project.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="exploring-the-project.html">Exploring the 
Project</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" 
width="33%"><sup><a shape="rect" href="tapestry-tutorial.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="tapestry-tutorial.html">Tapestry 
Tutorial</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" 
width="33%">&#160;<a shape="rect" 
href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To 
Create User Forms</a></td><td colspan="1" rowspan="1" class="Sc
 rollbarNextIcon"><a shape="rect" 
href="using-beaneditform-to-create-user-forms.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><span style="line-height: 
1.4285715;">Let's start building a basic Hi-Lo Guessing game.</span></p><p>In 
the game, the computer selects a number between 1 and 10. You try and guess the 
number, clicking links. At the end, the computer tells you how many guesses you 
required to identify the target number. Even a simple example like this will 
demonstrate several important concepts in Tapestry:</p><ul><li>Breaking an 
application into individual pages</li><li>Transferring information from one 
page to another</li><li>Responding to user interactions</li><li>Storing client 
information in the server-side session</li></ul><p>We'll build this little 
application in small pieces, using the kind of iterative development that 
Tapestry makes so easy.</p><p><img clas
 s="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/hilo-flow.png" 
data-image-src="/confluence/download/attachments/23340505/hilo-flow.png?version=2&amp;modificationDate=1286814202000&amp;api=v2"></p><p>Our
 page flow is very simple, consisting of three pages: Index (the starting 
page), Guess and GameOver. The Index page introduces the application and 
includes a link to start guessing. The Guess page presents the user with ten 
links, plus feedback such as "too low" or "too high". The GameOver page tells 
the user how many guesses they took before finding the target number.</p><h1 
id="ImplementingtheHi-LoGuessingGame-IndexPage">Index Page</h1><p>Let's get to 
work on the Index page and template. Make Index.tml look like this:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>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;Hi/Lo Guess&quot;
     xmlns:t=&quot;http://tapestry.apache.org/schema/tapestry_5_3.xsd&quot;&gt;
 
@@ -92,12 +92,12 @@ table.ScrollbarTable td.ScrollbarNextIco
 {
 }
 ]]></script>
-</div></div><p>Running the application gives us our start:</p><p><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/hilo-1.png?version=3&amp;modificationDate=1416879474954&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/hilo-1.png?version=3&amp;modificationDate=1416879474954&amp;api=v2"></p><p>However,
 clicking the link doesn't do anything yet, as its just a placeholder &lt;a&gt; 
tag, not an actual Tapestry component. Let's think about what should happen 
when the user clicks that link:</p><ul><li>A random target number between 1 and 
10 should be selected</li><li>The number of guesses taken should be reset to 
0</li><li>The user should be sent to the Guess page to make a 
guess</li></ul><p>Our first step is to find out when the user clicks that 
"start guessing" link. In a typical web application framework, we might start 
thinking about URLs and handlers and maybe some sort of XML configuration file. 
But th
 is is Tapestry, so we're going to work with components and methods on our 
classes.</p><p>First, the component. We want to perform an action (selecting 
the number) before continuing on to the Guess page. The ActionLink component is 
just what we need; it creates a link with a URL that will trigger an action 
event in our code ... but that's getting ahead of ourselves. First up, convert 
the &lt;a&gt; tag to an ActionLink component:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Index.tml (partial)</b></div><div 
class="codeContent panelContent pdl">
+</div></div><p>Running the application gives us our start:</p><p><img 
class="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/hilo-1.png" 
data-image-src="/confluence/download/attachments/23340505/hilo-1.png?version=3&amp;modificationDate=1416879474000&amp;api=v2"></p><p>However,
 clicking the link doesn't do anything yet, as its just a placeholder &lt;a&gt; 
tag, not an actual Tapestry component. Let's think about what should happen 
when the user clicks that link:</p><ul><li>A random target number between 1 and 
10 should be selected</li><li>The number of guesses taken should be reset to 
0</li><li>The user should be sent to the Guess page to make a 
guess</li></ul><p>Our first step is to find out when the user clicks that 
"start guessing" link. In a typical web application framework, we might start 
thinking about URLs and handlers and maybe some sort of XML configuration file. 
But this is Tapestry, so we're going to work with components and methods on our 
classe
 s.</p><p>First, the component. We want to perform an action (selecting the 
number) before continuing on to the Guess page. The ActionLink component is 
just what we need; it creates a link with a URL that will trigger an action 
event in our code ... but that's getting ahead of ourselves. First up, convert 
the &lt;a&gt; tag to an ActionLink component:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Index.tml (partial)</b></div><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[    &lt;p&gt;
         &lt;t:actionlink t:id=&quot;start&quot;&gt;start 
guessing&lt;/t:actionlink&gt;
     &lt;/p&gt;
 ]]></script>
-</div></div><p>If you refresh the browser and hover your mouse over the "start 
guessing" link, you'll see that its URL is now /tutorial1/index.start, which 
identifies the name of the page ("index") and the id of the component 
("start").</p><p>If you click the link now, you'll get an error:</p><p><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/hilo-index-missing-action-error.png?version=3&amp;modificationDate=1416709525000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/hilo-index-missing-action-error.png?version=3&amp;modificationDate=1416709525000&amp;api=v2"></p><p>Tapestry
 is telling us that we need to provide some kind of event handler for that 
event. What does that look like?</p><p>An event handler is a method of the Java 
class with a special name. The name is 
<code>on</code><strong><em>Eventname</em></strong><code>From</code><strong><em>Component-id</em></strong>
 ... here we want a method named
  <code>onActionFromStart()</code>. How do we know that "action" is the right 
event name? Because that's what ActionLink does, that's why its named 
<strong><em>Action</em></strong>Link.</p><p>Once again, Tapestry gives us 
options; if you don't like naming conventions, there's an @<a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/OnEvent.html";>OnEvent</a>
 annotation you can place on the method instead, which restores the freedom to 
name the method as you like. Details about this approach are in the <a 
shape="rect" href="component-events.html">Tapestry Users' Guide</a>. We'll be 
sticking with the naming convention approach for the tutorial.</p><p>When 
handling a component event request (the kind of request triggered by the 
ActionLink component's URL), Tapestry will find the component and trigger a 
component event on it. This is the callback our server-side code needs to 
figure out what the user is doing on the client
  side. Let's start with an empty event handler:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Index.java</b></div><div 
class="codeContent panelContent pdl">
+</div></div><p>If you refresh the browser and hover your mouse over the "start 
guessing" link, you'll see that its URL is now /tutorial1/index.start, which 
identifies the name of the page ("index") and the id of the component 
("start").</p><p>If you click the link now, you'll get an error:</p><p><img 
class="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/hilo-index-missing-action-error.png"
 
data-image-src="/confluence/download/attachments/23340505/hilo-index-missing-action-error.png?version=3&amp;modificationDate=1416709525000&amp;api=v2"></p><p>Tapestry
 is telling us that we need to provide some kind of event handler for that 
event. What does that look like?</p><p>An event handler is a method of the Java 
class with a special name. The name is 
<code>on</code><strong><em>Eventname</em></strong><code>From</code><strong><em>Component-id</em></strong>
 ... here we want a method named <code>onActionFromStart()</code>. How do we 
know that "action" is the right eve
 nt name? Because that's what ActionLink does, that's why its named 
<strong><em>Action</em></strong>Link.</p><p>Once again, Tapestry gives us 
options; if you don't like naming conventions, there's an @<a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/OnEvent.html";>OnEvent</a>
 annotation you can place on the method instead, which restores the freedom to 
name the method as you like. Details about this approach are in the <a 
shape="rect" href="component-events.html">Tapestry Users' Guide</a>. We'll be 
sticking with the naming convention approach for the tutorial.</p><p>When 
handling a component event request (the kind of request triggered by the 
ActionLink component's URL), Tapestry will find the component and trigger a 
component event on it. This is the callback our server-side code needs to 
figure out what the user is doing on the client side. Let's start with an empty 
event handler:</p><div class="code panel pdl" s
 tyle="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Index.java</b></div><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[package com.example.tutorial.pages;
 
 public class Index
@@ -175,7 +175,7 @@ public class Index
                             <p>When creating your own applications, make sure 
that the objects stored in final variables are thread safe. It seems 
counter-intuitive, but final variables are shared across many threads. Ordinary 
instance variables are not. Fortunately, the implementation of Random is, in 
fact, thread safe.</p>
                     </div>
     </div>
-<p>So ... let's click the link and see what we get:</p><p><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/guess-template-missing.png?version=2&amp;modificationDate=1416710821000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/guess-template-missing.png?version=2&amp;modificationDate=1416710821000&amp;api=v2"></p><p>Ah!
 We didn't create a Guess page template. Tapestry was really expecting us to 
create one, so we better do so.</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/Guess.tml</b></div><div 
class="codeContent panelContent pdl">
+<p>So ... let's click the link and see what we get:</p><p><img 
class="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/guess-template-missing.png" 
data-image-src="/confluence/download/attachments/23340505/guess-template-missing.png?version=2&amp;modificationDate=1416710821000&amp;api=v2"></p><p>Ah!
 We didn't create a Guess page template. Tapestry was really expecting us to 
create one, so we better do so.</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/Guess.tml</b></div><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;html t:type=&quot;layout&quot; 
title=&quot;Guess The Number&quot;
     xmlns:t=&quot;http://tapestry.apache.org/schema/tapestry_5_3.xsd&quot;&gt;
 
@@ -185,16 +185,16 @@ public class Index
   
 &lt;/html&gt;
 ]]></script>
-</div></div><p>Hit the browser's back button, then click the "start guessing" 
link again. We're getting closer:</p><p><img class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/guess-no-target-prop.png?version=2&amp;modificationDate=1416711075000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/guess-no-target-prop.png?version=2&amp;modificationDate=1416711075000&amp;api=v2"></p><p>If
 you scroll down, you'll see the line of the Guess.tml template that has the 
error. We have a field named target, but it is private and there's no 
corresponding property, so Tapestry was unable to access it.</p><p>We just need 
to write the missing JavaBeans accessor methods <code>getTarget()</code> (and 
<code>setTarget()</code> for good measure). Or we could let Tapestry write 
those methods instead:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Hit the browser's back button, then click the "start guessing" 
link again. We're getting closer:</p><p><img class="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/guess-no-target-prop.png" 
data-image-src="/confluence/download/attachments/23340505/guess-no-target-prop.png?version=2&amp;modificationDate=1416711075000&amp;api=v2"></p><p>If
 you scroll down, you'll see the line of the Guess.tml template that has the 
error. We have a field named target, but it is private and there's no 
corresponding property, so Tapestry was unable to access it.</p><p>We just need 
to write the missing JavaBeans accessor methods <code>getTarget()</code> (and 
<code>setTarget()</code> for good measure). Or we could let Tapestry write 
those methods instead:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[    @Property
     private int target;
 ]]></script>
-</div></div><p>The @<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Property.html";>Property</a>
 annotation very simply directs Tapestry to write the getter and setter method 
for you. You only need to do this if you are going to reference the field from 
the template.</p><p>We are getting very close but there's one last big oddity 
to handle. Once you refresh the page you'll see that target is 0!</p><p><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/guess-target-zero.png?version=3&amp;modificationDate=1416879255000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/guess-target-zero.png?version=3&amp;modificationDate=1416879255000&amp;api=v2"></p><p>What
 gives? We know it was set to at least 1 ... where did the value go?</p><p>As 
noted above, Tapestry sends a redirect to the client after handling the event 
request. That means that the 
 rendering of the page happens in an entirely new request. Meanwhile, at the 
end of each request, Tapestry wipes out the value in each instance variable. So 
that means that target <em>was</em> a non-zero number during the component 
event request ... but by the time the new page render request comes up from the 
web browser to render the Guess page, the value of the target field has 
reverted back to its default, zero.</p><p>The solution here is to mark which 
fields have values that should persist from one request to the next (and next, 
and next ...). That's what the @<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Persist.html";>Persist</a>
 annotation is for:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The @<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Property.html";>Property</a>
 annotation very simply directs Tapestry to write the getter and setter method 
for you. You only need to do this if you are going to reference the field from 
the template.</p><p>We are getting very close but there's one last big oddity 
to handle. Once you refresh the page you'll see that target is 0!</p><p><img 
class="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/guess-target-zero.png" 
data-image-src="/confluence/download/attachments/23340505/guess-target-zero.png?version=3&amp;modificationDate=1416879255000&amp;api=v2"></p><p>What
 gives? We know it was set to at least 1 ... where did the value go?</p><p>As 
noted above, Tapestry sends a redirect to the client after handling the event 
request. That means that the rendering of the page happens in an entirely new 
request. Meanwhile, at the end 
 of each request, Tapestry wipes out the value in each instance variable. So 
that means that target <em>was</em> a non-zero number during the component 
event request ... but by the time the new page render request comes up from the 
web browser to render the Guess page, the value of the target field has 
reverted back to its default, zero.</p><p>The solution here is to mark which 
fields have values that should persist from one request to the next (and next, 
and next ...). That's what the @<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Persist.html";>Persist</a>
 annotation is for:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[    @Property  
     @Persist
     private int target;
 ]]></script>
-</div></div><p>This doesn't have anything to do with database persistence 
(that's coming up in a later chapter). It means that the value is stored in the 
HttpSession between requests.</p><p>Go back to the Index page and click the 
link again. Finally, we have a target number:</p><p><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/guess-target.png?version=3&amp;modificationDate=1416879254978&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/guess-target.png?version=3&amp;modificationDate=1416879254978&amp;api=v2"></p><p>That's
 enough for us to get started. Let's build out the Guess page, and get ready to 
let the user make guesses. We'll show the count of guesses, and increment that 
count when they make them. We'll worry about high and low and actually 
selecting the correct value later.</p><p>When building Tapestry pages, you 
sometimes start with the Java code and build the template to match, and 
sometime 
 start with the template and build the Java code to match. Both approaches are 
valid. Here, lets start with the markup in the template, then figure out what 
we need in the Java code to make it work.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Guess.tml (revised)</b></div><div 
class="codeContent panelContent pdl">
+</div></div><p>This doesn't have anything to do with database persistence 
(that's coming up in a later chapter). It means that the value is stored in the 
HttpSession between requests.</p><p>Go back to the Index page and click the 
link again. Finally, we have a target number:</p><p><img 
class="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/guess-target.png" 
data-image-src="/confluence/download/attachments/23340505/guess-target.png?version=3&amp;modificationDate=1416879254000&amp;api=v2"></p><p>That's
 enough for us to get started. Let's build out the Guess page, and get ready to 
let the user make guesses. We'll show the count of guesses, and increment that 
count when they make them. We'll worry about high and low and actually 
selecting the correct value later.</p><p>When building Tapestry pages, you 
sometimes start with the Java code and build the template to match, and 
sometime start with the template and build the Java code to match. Both 
approaches are va
 lid. Here, lets start with the markup in the template, then figure out what we 
need in the Java code to make it work.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Guess.tml (revised)</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;Guess The Number&quot;
     xmlns:t=&quot;http://tapestry.apache.org/schema/tapestry_5_3.xsd&quot;
     xmlns:p=&quot;tapestry:parameter&quot;&gt;
@@ -252,7 +252,7 @@ public class Guess
 
 }
 ]]></script>
-</div></div><p>The revised version of Guess includes two new properties: 
<code>current</code> and <code>guessCount</code>. There's also a handler for 
the action event from the makeGuess ActionLink component; currently it just 
increments the count.</p><p>Notice that the 
<code>onActionFromMakeGuess()</code> method now has a parameter: the context 
value that was encoded into the URL by the ActionLink. When then user clicks 
the link, Tapestry will automatically extract the string from the URL, convert 
it to an int and pass that int value into the event handler method. More 
boilerplate code you don't have to write.</p><p>At this point, the page is 
partially operational:</p><p><img class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/guess-1.png?version=4&amp;modificationDate=1416879255000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/guess-1.png?version=4&amp;modificationDate=1416879255000&amp;api=v2"></p><p>Our
 
 next step is to actually check the value provided by the user against the 
target and provide feedback: either they guessed too high, or too low, or just 
right. If they get it just right, we'll switch to the GameOver page with a 
message such as "You guessed the number 5 in 2 guesses".</p><p>Let's start with 
the Guess page; it now needs a new property to store the message to be 
displayed to the user, and needs a field for the injected GameOver 
page:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Guess.java (partial)</b></div><div class="codeContent panelContent 
pdl">
+</div></div><p>The revised version of Guess includes two new properties: 
<code>current</code> and <code>guessCount</code>. There's also a handler for 
the action event from the makeGuess ActionLink component; currently it just 
increments the count.</p><p>Notice that the 
<code>onActionFromMakeGuess()</code> method now has a parameter: the context 
value that was encoded into the URL by the ActionLink. When then user clicks 
the link, Tapestry will automatically extract the string from the URL, convert 
it to an int and pass that int value into the event handler method. More 
boilerplate code you don't have to write.</p><p>At this point, the page is 
partially operational:</p><p><img class="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/guess-1.png" 
data-image-src="/confluence/download/attachments/23340505/guess-1.png?version=4&amp;modificationDate=1416879255000&amp;api=v2"></p><p>Our
 next step is to actually check the value provided by the user against the 
target
  and provide feedback: either they guessed too high, or too low, or just 
right. If they get it just right, we'll switch to the GameOver page with a 
message such as "You guessed the number 5 in 2 guesses".</p><p>Let's start with 
the Guess page; it now needs a new property to store the message to be 
displayed to the user, and needs a field for the injected GameOver 
page:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Guess.java (partial)</b></div><div class="codeContent panelContent 
pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[    @Property
     @Persist(PersistenceConstants.FLASH)
     private String message;
@@ -320,7 +320,7 @@ public class GameOver
   
 &lt;/html&gt;
 ]]></script>
-</div></div><p>The result, when you guess correctly, should be 
this:</p><p><img class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23340505/gameover.png?version=4&amp;modificationDate=1416879255000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23340505/gameover.png?version=4&amp;modificationDate=1416879255000&amp;api=v2"></p><p>That
 wraps up the basics of Tapestry; we've demonstrated the basics of linking 
pages together and passing information from page to page in code as well as 
incorporating data inside URLs.</p><p>There's still more room to refactor this 
toy application; for example, making it possible to start a new game from the 
GameOver page (and doing it in a way that doesn't duplicate code). In addition, 
later we'll see other ways of sharing information between pages that are less 
cumbersome than the setup-and-persist approach shown here.</p><p>Next up, we'll 
start delving into how Tapestry handles HTML forms and us
 er input.&#160;</p><style type="text/css">/*<![CDATA[*/
+</div></div><p>The result, when you guess correctly, should be 
this:</p><p><img class="confluence-embedded-image" 
src="implementing-the-hi-lo-guessing-game.data/gameover.png" 
data-image-src="/confluence/download/attachments/23340505/gameover.png?version=4&amp;modificationDate=1416879255000&amp;api=v2"></p><p>That
 wraps up the basics of Tapestry; we've demonstrated the basics of linking 
pages together and passing information from page to page in code as well as 
incorporating data inside URLs.</p><p>There's still more room to refactor this 
toy application; for example, making it possible to start a new game from the 
GameOver page (and doing it in a way that doesn't duplicate code). In addition, 
later we'll see other ways of sharing information between pages that are less 
cumbersome than the setup-and-persist approach shown here.</p><p>Next up, we'll 
start delving into how Tapestry handles HTML forms and user 
input.&#160;</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/index.html
==============================================================================
--- websites/production/tapestry/content/index.html (original)
+++ websites/production/tapestry/content/index.html Sun Dec 14 13:20:36 2014
@@ -162,7 +162,7 @@ a.blogHeading {
 }
 </style>
 
-<h3 id="Index-Latestnews"><a shape="rect" href="news.html">Latest news</a> <a 
shape="rect" 
href="https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&amp;spaces=TAPESTRY&amp;title=Apache+Tapestry+News+RSS+Feed&amp;labelString%3D&amp;sort=created&amp;maxResults=10&amp;timeSpan=12&amp;confirm=Create&amp;showContent=true&amp;showDiff=false";><img
 class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/24189566/Feed-icon.gif?version=1&amp;modificationDate=1292052584000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/24189566/Feed-icon.gif?version=1&amp;modificationDate=1292052584000&amp;api=v2"></a></h3>
    
+<h3 id="Index-Latestnews"><a shape="rect" href="news.html">Latest news</a> <a 
shape="rect" 
href="https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&amp;spaces=TAPESTRY&amp;title=Apache+Tapestry+News+RSS+Feed&amp;labelString%3D&amp;sort=created&amp;maxResults=10&amp;timeSpan=12&amp;confirm=Create&amp;showContent=true&amp;showDiff=false";><img
 class="confluence-embedded-image" src="index.data/Feed-icon.gif" 
data-image-src="/confluence/download/attachments/24189566/Feed-icon.gif?version=1&amp;modificationDate=1292052584000&amp;api=v2"></a></h3>
    
 
     
         
@@ -563,7 +563,7 @@ While not an actual release candidate,&#
 
 </div> 
 
-</div> <p>More on <a shape="rect" href="principles.html">Tapestry 
philosophy</a> - Who uses <a shape="rect" href="applications.html">Tapestry 
</a>? <a shape="rect" class="external-link" 
href="http://twitter.com/apachetapestry"; ><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/24189566/twitterTapestry.png?version=2&amp;modificationDate=1292947176000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/24189566/twitterTapestry.png?version=2&amp;modificationDate=1292947176000&amp;api=v2"></a></p></div><div
 style="clear:both">&#160;</div></div>
+</div> <p>More on <a shape="rect" href="principles.html">Tapestry 
philosophy</a> - Who uses <a shape="rect" href="applications.html">Tapestry 
</a>? <a shape="rect" class="external-link" 
href="http://twitter.com/apachetapestry"; ><img 
class="confluence-embedded-image" src="index.data/twitterTapestry.png" 
data-image-src="/confluence/download/attachments/24189566/twitterTapestry.png?version=2&amp;modificationDate=1292947176000&amp;api=v2"></a></p></div><div
 style="clear:both">&#160;</div></div>
 <div id="footer">
 <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather 
logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
 </p><p><script type="text/javascript">

Modified: websites/production/tapestry/content/indexv1.html
==============================================================================
--- websites/production/tapestry/content/indexv1.html (original)
+++ websites/production/tapestry/content/indexv1.html Sun Dec 14 13:20:36 2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IndexV1</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IndexV1</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/injection-faq.html
==============================================================================
--- websites/production/tapestry/content/injection-faq.html (original)
+++ websites/production/tapestry/content/injection-faq.html Sun Dec 14 13:20:36 
2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Injection FAQ</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Injection FAQ</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/injection-in-detail.html
==============================================================================
--- websites/production/tapestry/content/injection-in-detail.html (original)
+++ websites/production/tapestry/content/injection-in-detail.html Sun Dec 14 
13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Injection in Detail</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Injection in Detail</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/injection.html
==============================================================================
--- websites/production/tapestry/content/injection.html (original)
+++ websites/production/tapestry/content/injection.html Sun Dec 14 13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Injection</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Injection</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/input-validation.html
==============================================================================
--- websites/production/tapestry/content/input-validation.html (original)
+++ websites/production/tapestry/content/input-validation.html Sun Dec 14 
13:20:36 2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Input Validation</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Input Validation</h1></div></div>
 <div class="clearer"></div>
 </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 Sun Dec 14 
13:20:36 2014
@@ -47,19 +47,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Integrating with JPA</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Integrating with JPA</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -84,11 +78,11 @@
 
 <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 
shape="rect" class="external-link" href="http://tynamo.org/tapestry-jpa+guide"; 
>Tynamo's JPA integration</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1415712082403 {padding: 0px;}
-div.rbtoc1415712082403 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1415712082403 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1418563202508 {padding: 0px;}
+div.rbtoc1418563202508 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1418563202508 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1415712082403">
+/*]]>*/</style></p><div class="toc-macro rbtoc1418563202508">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#IntegratingwithJPA-ConfiguringJPA">Configuring JPA</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#IntegratingwithJPA-XML-lessJPAconfiguration">XML-less JPA 
configuration</a></li><li><a shape="rect" 
href="#IntegratingwithJPA-Automaticallyaddingmanagedclasses">Automatically 
adding managed classes</a></li></ul>
 </li><li><a shape="rect" 
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 
Sun Dec 14 13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Integrating with Spring 
Framework</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Integrating with Spring Framework</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -94,11 +88,11 @@
                             </div>
         </li></ul>
 </div><p>Tapestry easily integrates with Spring Framework, allowing beans 
defined by Spring to be injected into Tapestry IoC services, and into Tapestry 
components. In addition, with Tapestry 5.2 and later, you can also go the other 
way, injecting Tapestry services in Spring beans.</p><p>For integrating Spring 
Security into your application, see <a shape="rect" 
href="security.html">Security</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1415711997990 {padding: 0px;}
-div.rbtoc1415711997990 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1415711997990 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1418563183996 {padding: 0px;}
+div.rbtoc1418563183996 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1418563183996 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1415711997990">
+/*]]>*/</style></p><div class="toc-macro rbtoc1418563183996">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a shape="rect" 
href="#IntegratingwithSpringFramework-SpringVersion">Spring 
Version</a></li><li><a shape="rect" 
href="#IntegratingwithSpringFramework-Usage">Usage</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#IntegratingwithSpringFramework-Requireddependency">Required 
dependency</a></li><li><a shape="rect" 
href="#IntegratingwithSpringFramework-Updateyourweb.xmlfile">Update your 
web.xml file</a></li><li><a shape="rect" 
href="#IntegratingwithSpringFramework-AccessingtheSpringApplicationContext">Accessing
 the Spring Application Context</a></li><li><a shape="rect" 
href="#IntegratingwithSpringFramework-Injectingbeans">Injecting 
beans</a></li><li><a shape="rect" 
href="#IntegratingwithSpringFramework-InjectingTapestryservicesinSpringbeans">Injecting
 Tapestry services in Spring beans</a></li></ul>

Modified: websites/production/tapestry/content/integration-testing.html
==============================================================================
--- websites/production/tapestry/content/integration-testing.html (original)
+++ websites/production/tapestry/content/integration-testing.html Sun Dec 14 
13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Integration Testing</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Integration Testing</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: 
websites/production/tapestry/content/integration-with-existing-applications.html
==============================================================================
--- 
websites/production/tapestry/content/integration-with-existing-applications.html
 (original)
+++ 
websites/production/tapestry/content/integration-with-existing-applications.html
 Sun Dec 14 13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Integration with existing 
applications</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Integration with existing 
applications</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/introduction.html
==============================================================================
--- websites/production/tapestry/content/introduction.html (original)
+++ websites/production/tapestry/content/introduction.html Sun Dec 14 13:20:36 
2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">Introduction</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Introduction</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -88,7 +82,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="tapestry-for-jsf-users.html">Tapestry for JSF Users</a>
                     
                 
                             </div>
@@ -97,7 +91,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="principles.html">Principles</a>
                     
                 
                             </div>
@@ -106,7 +100,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="getting-started.html">Getting Started</a>
                     
                 
                             </div>
@@ -115,7 +109,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>

Modified: websites/production/tapestry/content/ioc-advice.html
==============================================================================
--- websites/production/tapestry/content/ioc-advice.html (original)
+++ websites/production/tapestry/content/ioc-advice.html Sun Dec 14 13:20:36 
2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC - advice</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC - advice</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-autoload.html
==============================================================================
--- websites/production/tapestry/content/ioc-autoload.html (original)
+++ websites/production/tapestry/content/ioc-autoload.html Sun Dec 14 13:20:36 
2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC - autoload</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC - autoload</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-case.html
==============================================================================
--- websites/production/tapestry/content/ioc-case.html (original)
+++ websites/production/tapestry/content/ioc-case.html Sun Dec 14 13:20:36 2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC - case</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC - case</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-coerce.html
==============================================================================
--- websites/production/tapestry/content/ioc-coerce.html (original)
+++ websites/production/tapestry/content/ioc-coerce.html Sun Dec 14 13:20:36 
2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC - coerce</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC - coerce</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-command.html
==============================================================================
--- websites/production/tapestry/content/ioc-command.html (original)
+++ websites/production/tapestry/content/ioc-command.html Sun Dec 14 13:20:36 
2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC - command</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC - command</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-configuration.html
==============================================================================
--- websites/production/tapestry/content/ioc-configuration.html (original)
+++ websites/production/tapestry/content/ioc-configuration.html Sun Dec 14 
13:20:36 2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC - configuration</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC - configuration</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: 
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
==============================================================================
--- 
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
 (original)
+++ 
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
 Sun Dec 14 13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC Cookbook - Basic Services and 
Injection</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC Cookbook - Basic Services and 
Injection</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-cookbook-basics.html
==============================================================================
--- websites/production/tapestry/content/ioc-cookbook-basics.html (original)
+++ websites/production/tapestry/content/ioc-cookbook-basics.html Sun Dec 14 
13:20:36 2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC cookbook - basics</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC cookbook - basics</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-cookbook-override.html
==============================================================================
--- websites/production/tapestry/content/ioc-cookbook-override.html (original)
+++ websites/production/tapestry/content/ioc-cookbook-override.html Sun Dec 14 
13:20:36 2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC cookbook - override</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC cookbook - override</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: 
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html
==============================================================================
--- 
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html 
(original)
+++ 
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html 
Sun Dec 14 13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC Cookbook - Overriding IoC 
Services</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC Cookbook - Overriding IoC 
Services</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -176,13 +170,11 @@ var footnoteMarkerHighlight = function(i
 }
 //--&gt;
 &lt;/script&gt;
-
 <sup id="FootnoteMarker1">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker1" 
href="#Footnote1" onclick="footnoteHighlight(&quot;1&quot;,true);" 
alt="Footnote: Click here to display the footnote" title="Footnote: Click here 
to display the footnote">
             1
     </a>
-</sup>
-</p><p></p><p></p><p></p><p></p><p></p>.<p></p>
+</sup></p><p></p><p></p><p></p><p></p><p></p>.<p></p>
 
 <p>Sometimes you'll want to define the override as a service of its own: this 
is useful if you want to inject a Logger specific to the service, or if the 
overriding implementation needs a <a shape="rect" 
href="tapestry-ioc-configuration.html">service configuration</a>:</p>
 

Modified: websites/production/tapestry/content/ioc-cookbook-patterns.html
==============================================================================
--- websites/production/tapestry/content/ioc-cookbook-patterns.html (original)
+++ websites/production/tapestry/content/ioc-cookbook-patterns.html Sun Dec 14 
13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC Cookbook - Patterns</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC Cookbook - Patterns</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: 
websites/production/tapestry/content/ioc-cookbook-service-configurations.html
==============================================================================
--- 
websites/production/tapestry/content/ioc-cookbook-service-configurations.html 
(original)
+++ 
websites/production/tapestry/content/ioc-cookbook-service-configurations.html 
Sun Dec 14 13:20:36 2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC cookbook - Service 
Configurations</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC cookbook - Service 
Configurations</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-cookbook.html
==============================================================================
--- websites/production/tapestry/content/ioc-cookbook.html (original)
+++ websites/production/tapestry/content/ioc-cookbook.html Sun Dec 14 13:20:36 
2014
@@ -48,19 +48,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC cookbook</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC cookbook</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/ioc-decorator.html
==============================================================================
--- websites/production/tapestry/content/ioc-decorator.html (original)
+++ websites/production/tapestry/content/ioc-decorator.html Sun Dec 14 13:20:36 
2014
@@ -38,19 +38,13 @@
 </div></div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em">
-<p>
-<span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; 
blogs:</span>
-</p><form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 
1em .1em 1em"><span style="color: #999; font-size: 90%">Tapestry docs, issues, 
wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
 
-</div>
-
-<div class="emblem" style="float:left"><a shape="rect" href="index.html"><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/21791252/tapestry_s.png?version=3&amp;modificationDate=1293093635000&amp;api=v2"></a></div>
-<div class="title" style="float:left; margin: 0 0 0 3em">
-<h1 id="SmallBanner-PageTitle">IoC - decorator</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 
href="index.html"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">IoC - decorator</h1></div></div>
 <div class="clearer"></div>
 </div>
 


Reply via email to