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 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">Forms and 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">Forms and Validation</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -103,11 +97,11 @@
                             </div>
         </li></ul>
 </div><p>The life's blood of any application is form input; this is the most 
effective way to gather significant information from the user. Whether it's a 
search form, a login screen or a multi-page registration wizard, forms are how 
the user really expresses themselves to the application.</p><p>Tapestry excels 
at creating forms and validating input. Input validation is declarative, 
meaning you simply tell Tapestry what validations to apply to a given field, 
and it takes care of it on the server and (once implemented) on the client as 
well.</p><p>Finally, Tapestry is able to not only present the errors back to 
the user, but to decorate the fields and the labels for the fields, marking 
them as containing errors (primarily, using CSS 
effects).</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1415712081996 {padding: 0px;}
-div.rbtoc1415712081996 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1415712081996 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1418563202416 {padding: 0px;}
+div.rbtoc1418563202416 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1418563202416 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1415712081996">
+/*]]>*/</style></p><div class="toc-macro rbtoc1418563202416">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a shape="rect" href="#FormsandValidation-TheFormComponent">The Form 
Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#FormsandValidation-FormEvents">Form Events</a></li><li><a shape="rect" 
href="#FormsandValidation-TrackingValidationErrors">Tracking Validation 
Errors</a></li><li><a shape="rect" 
href="#FormsandValidation-StoringDataBetweenRequests">Storing Data Between 
Requests</a></li><li><a shape="rect" 
href="#FormsandValidation-ConfiguringFieldsandLabels">Configuring Fields and 
Labels</a></li><li><a shape="rect" 
href="#FormsandValidation-ErrorsandDecorations">Errors and 
Decorations</a></li></ul>
@@ -202,7 +196,7 @@ div.rbtoc1415712081996 li {margin-left:
     &lt;/body&gt;
 &lt;/html&gt;
 ]]></script>
-</div></div><p>The Tapestry Form component is responsible for creating the 
necessary URL for the form submission (this is Tapestry's responsibility, not 
yours).</p><p>The <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Errors.html";>Errors</a>
 component must be placed inside a Form, it outputs all of the errors for all 
the fields within the Form as a single list. It uses some simple styling to 
make the result more presentable.</p><p>Each field component, such as the 
TextField, is paired with a <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Label.html";>Label</a>
 component. The Label will render out a &lt;label&gt; element connected to the 
field. This is very important for usability, especially for users with visual 
disabilities. It also means you can click on the label text to move the cursor 
to the corresponding field.</p><p>Th
 e <code>for</code> parameter of the Label is the id of a component.</p><p>For 
the TextField, we provide a component id, userName. We could specify the 
<code>value</code> parameter, but the default is to match the TextField's id 
against a property of the container, the Login page, if such a property 
exists.</p><p>As a rule of thumb, you should always give your fields a specific 
id (this id will be used to generate the <code>name</code> and <code>id</code> 
attributes of the rendered tag). Being allowed to omit the value parameter 
helps to keep the template from getting too cluttered.</p><p>The 
<code>validate</code> parameter identifies what validations should occur for 
the field. This is a list of validator names. Validators are configured within 
Tapestry, and the list of available validators is extensible. "required" is a 
name of one of the built-in validators, that ensures that the submitted value 
is not the empty string. Likewise, "minlength ensures that the value has the 
specified
  minimum length.</p><p>The <code>validate</code> parameter was placed within 
the Tapestry namespace using the <code>t:</code> prefix. This is not strictly 
necessary, as the template is <em>well formed</em> either way. However, putting 
the Tapestry specific values into the Tapestry namespace ensures that the 
template will itself be <em>valid</em>.</p><h2 
id="FormsandValidation-ErrorsandDecorations">Errors and 
Decorations</h2><p><strong>Note: This section has not been updated to reflect 
the introduction of client-side input validation.</strong></p><p>When you first 
activate the Login page, the fields and forms will render normally, awaiting 
input:</p><p><img class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/22872109/validation_initial.png?version=1&amp;modificationDate=1276677599000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/22872109/validation_initial.png?version=1&amp;modificationDate=1276677599000&amp;api=v2"
 title="In
 itial form presentation"></p><p>Notice how the Label components are displaying 
the textual names for the fields. Given that we have not done any explicit 
configuration, what's happened is that the component's ids ("userName" and 
"password") have been converted to "User Name" and "Password".</p><p>If you 
just submit the form as is, the fields will violate the "required" constraint 
and the page will be redisplayed to present those errors to the 
user:</p><p><img class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/22872109/validation_errors.png?version=1&amp;modificationDate=1276677599000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/22872109/validation_errors.png?version=1&amp;modificationDate=1276677599000&amp;api=v2"
 title="Errors and decorations"></p><p>There's a couple of subtle things going 
on here. First, Tapestry tracks <em>all</em> the errors for <em>all</em> the 
fields. The Errors component has displayed them at the to
 p of the form. Further, the <em>default validation decorator</em> has added 
decorations to the labels and the fields, adding "t-error" to the CSS class for 
the fields and labels. Tapestry provides a default CSS stylesheet that combines 
with the "t-error" class to make things turn red.</p><p>Next, we'll fill in the 
user name but not provide enough characters for password.</p><p><img 
class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/22872109/validation_minlength.png?version=1&amp;modificationDate=1276677600000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/22872109/validation_minlength.png?version=1&amp;modificationDate=1276677600000&amp;api=v2"
 title="Minlength error message"></p><p>The user name field is OK, but there's 
an error on just the password field. The PasswordField component always 
displays a blank value by default, otherwise we'd see the partial password 
displayed inside.</p><p>If you type in enough characters and
  submit, we see how the logic inside the Login page can attach errors to 
fields:</p><p><img class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/22872109/validation_password.png?version=1&amp;modificationDate=1276677600000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/22872109/validation_password.png?version=1&amp;modificationDate=1276677600000&amp;api=v2"
 title="Application supplied errors"></p><p>This is nice and seamless; the same 
look and feel and behavior for both the built-in validators, and for errors 
generated based on application logic.</p><h1 
id="FormsandValidation-FormValidation">Form Validation</h1><h2 
id="FormsandValidation-AvailableValidators">Available 
Validators</h2><p>Tapestry provides the following built-in validators:</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Validator</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>C
 onstraint Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Example</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>email</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#8211;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Ensures that the given input looks like a valid e-mail 
address</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="email" validate="email" 
/&gt;</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>max</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Enforces a maximum integer value</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>&lt;t:textfield 
value="age" validate="max=120,min=0" /&gt;</code></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>maxLength</p></td>
 <td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Makes sure that a string value 
has a maximum length</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="zip" 
validate="maxlength=7" /&gt;</code></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>min</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Enforces a minimum integer value</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>&lt;t:textfield 
value="age" validate="max=120,min=0" /&gt;</code></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>minLength</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Makes sure that a string value has a 
minimum length</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield
  value="somefield" validate="minlength=1" /&gt;</code></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>none</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#8211;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Does nothing (used to override a @Validate 
annotation)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="somefield" validate="none" 
/&gt;</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>regexp</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>pattern</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Makes sure that a string value conforms to a given 
pattern</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="letterfield" 
validate="regexp=^</code><code>[A-Za-z]+$" /&gt;</code></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>required</p></td><td 
colspan="1" rowspan="1" class="confluenceTd">
 <p>&#8211;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Makes 
sure that a string value is not null and not the empty string</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>&lt;t:textfield 
value="name" validate="required" 
/&gt;</code></p></td></tr></tbody></table></div><h2 
id="FormsandValidation-CentralizingValidationwith@Validate">Centralizing 
Validation with @Validate</h2><p>The @<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/beaneditor/Validate.html";>Validate</a>
 annotation can take the place of the validate parameter of TextField, 
PasswordField, TextArea and other components. When the validate parameter is 
not bound, the component will check for the @Validate annotation and use its 
value as the validation definition.</p><p>The annotation may be placed on the 
getter or setter method, or on the field itself.</p><h2 
id="FormsandValidation-CustomizingValidationMessages">Customizing Validatio
 n Messages</h2><p>Each validator (such as "required" or "minlength") has a 
default message used (on the client side and the server side) when the 
constraint is violated; that is, when the user input is not valid.</p><p>The 
message can be customized by adding an entry to the page's <a shape="rect" 
href="localization.html">message catalog</a> (or the containing component's 
message catalog). As with any localized property, this can also go into the 
application's message catalog.</p><p>The first key checked is 
<em>formId</em>-<em>fieldId</em>-<em>validatorName</em>-message.</p><ul><li>formId:
 the local component id of the Form component</li><li>fieldId: the local 
component id of the field (TextField, etc.)</li><li>validatorName: the name of 
the validator, i.e., "required" or "minlength"<br clear="none"> If there is not 
message for that key, a second check is made, for 
<em>fieldId</em>-<em>validatorName</em>-message.</li></ul><p>If that does not 
match a message, then the built-in default
  validation message is used.</p><h3 
id="FormsandValidation-CustomizingValidationMessagesforBeanEditForm">Customizing
 Validation Messages for BeanEditForm</h3><p>The <a shape="rect" 
href="beaneditform-guide.html">BeanEditForm</a> component also supports 
validation message customizing. The search for messages is similar; the 
<em>formId</em> is the component id of the BeanEditForm component (not the Form 
component it contains). The <em>fieldId</em> is the property name.</p><h2 
id="FormsandValidation-ConfiguringValidatorContraintsintheMessageCatalog">Configuring
 Validator Contraints in the Message Catalog</h2><p>It is possible to omit the 
validation constraint from the validate parameter (or @Validator annotation), 
in which case it is expected to be stored in the message catalog.</p><p>This is 
useful when the validation constraint is awkward to enter inline, such as a 
regular expression for use with the regexp validator.</p><p>The key here is 
similar to customizing the validation messag
 e: <em>formId</em>-<em>fieldId</em>-<em>validatorName</em> or just 
<em>fieldId</em>-<em>validatorName</em>.</p><p>For example, your template may 
have the following:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The Tapestry Form component is responsible for creating the 
necessary URL for the form submission (this is Tapestry's responsibility, not 
yours).</p><p>The <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Errors.html";>Errors</a>
 component must be placed inside a Form, it outputs all of the errors for all 
the fields within the Form as a single list. It uses some simple styling to 
make the result more presentable.</p><p>Each field component, such as the 
TextField, is paired with a <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Label.html";>Label</a>
 component. The Label will render out a &lt;label&gt; element connected to the 
field. This is very important for usability, especially for users with visual 
disabilities. It also means you can click on the label text to move the cursor 
to the corresponding field.</p><p>Th
 e <code>for</code> parameter of the Label is the id of a component.</p><p>For 
the TextField, we provide a component id, userName. We could specify the 
<code>value</code> parameter, but the default is to match the TextField's id 
against a property of the container, the Login page, if such a property 
exists.</p><p>As a rule of thumb, you should always give your fields a specific 
id (this id will be used to generate the <code>name</code> and <code>id</code> 
attributes of the rendered tag). Being allowed to omit the value parameter 
helps to keep the template from getting too cluttered.</p><p>The 
<code>validate</code> parameter identifies what validations should occur for 
the field. This is a list of validator names. Validators are configured within 
Tapestry, and the list of available validators is extensible. "required" is a 
name of one of the built-in validators, that ensures that the submitted value 
is not the empty string. Likewise, "minlength ensures that the value has the 
specified
  minimum length.</p><p>The <code>validate</code> parameter was placed within 
the Tapestry namespace using the <code>t:</code> prefix. This is not strictly 
necessary, as the template is <em>well formed</em> either way. However, putting 
the Tapestry specific values into the Tapestry namespace ensures that the 
template will itself be <em>valid</em>.</p><h2 
id="FormsandValidation-ErrorsandDecorations">Errors and 
Decorations</h2><p><strong>Note: This section has not been updated to reflect 
the introduction of client-side input validation.</strong></p><p>When you first 
activate the Login page, the fields and forms will render normally, awaiting 
input:</p><p><img class="confluence-embedded-image" 
src="forms-and-validation.data/validation_initial.png" 
data-image-src="/confluence/download/attachments/22872109/validation_initial.png?version=1&amp;modificationDate=1276677599000&amp;api=v2"
 title="Initial form presentation"></p><p>Notice how the Label components are 
displaying the textual names
  for the fields. Given that we have not done any explicit configuration, 
what's happened is that the component's ids ("userName" and "password") have 
been converted to "User Name" and "Password".</p><p>If you just submit the form 
as is, the fields will violate the "required" constraint and the page will be 
redisplayed to present those errors to the user:</p><p><img 
class="confluence-embedded-image" 
src="forms-and-validation.data/validation_errors.png" 
data-image-src="/confluence/download/attachments/22872109/validation_errors.png?version=1&amp;modificationDate=1276677599000&amp;api=v2"
 title="Errors and decorations"></p><p>There's a couple of subtle things going 
on here. First, Tapestry tracks <em>all</em> the errors for <em>all</em> the 
fields. The Errors component has displayed them at the top of the form. 
Further, the <em>default validation decorator</em> has added decorations to the 
labels and the fields, adding "t-error" to the CSS class for the fields and 
labels. Tapestry prov
 ides a default CSS stylesheet that combines with the "t-error" class to make 
things turn red.</p><p>Next, we'll fill in the user name but not provide enough 
characters for password.</p><p><img class="confluence-embedded-image" 
src="forms-and-validation.data/validation_minlength.png" 
data-image-src="/confluence/download/attachments/22872109/validation_minlength.png?version=1&amp;modificationDate=1276677600000&amp;api=v2"
 title="Minlength error message"></p><p>The user name field is OK, but there's 
an error on just the password field. The PasswordField component always 
displays a blank value by default, otherwise we'd see the partial password 
displayed inside.</p><p>If you type in enough characters and submit, we see how 
the logic inside the Login page can attach errors to fields:</p><p><img 
class="confluence-embedded-image" 
src="forms-and-validation.data/validation_password.png" 
data-image-src="/confluence/download/attachments/22872109/validation_password.png?version=1&amp;modificati
 onDate=1276677600000&amp;api=v2" title="Application supplied 
errors"></p><p>This is nice and seamless; the same look and feel and behavior 
for both the built-in validators, and for errors generated based on application 
logic.</p><h1 id="FormsandValidation-FormValidation">Form Validation</h1><h2 
id="FormsandValidation-AvailableValidators">Available 
Validators</h2><p>Tapestry provides the following built-in validators:</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Validator</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Constraint Type</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Example</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>email</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#8211;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Ensures that the given inp
 ut looks like a valid e-mail address</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="email" validate="email" 
/&gt;</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>max</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Enforces a maximum integer value</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>&lt;t:textfield 
value="age" validate="max=120,min=0" /&gt;</code></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>maxLength</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Makes sure that a string value has a 
maximum length</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="zip" 
validate="maxlength=7" /&gt;</code></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>min</p></td><td c
 olspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Enforces a minimum integer 
value</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="age" 
validate="max=120,min=0" /&gt;</code></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>minLength</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Makes sure that a string value has a minimum 
length</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="somefield" 
validate="minlength=1" /&gt;</code></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>none</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#8211;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Does nothing (used to override a @Validate 
annotation)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:
 textfield value="somefield" validate="none" /&gt;</code></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>regexp</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>pattern</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Makes sure that a string value conforms to a given 
pattern</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="letterfield" 
validate="regexp=^</code><code>[A-Za-z]+$" /&gt;</code></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>required</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#8211;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Makes sure that a string value is not null 
and not the empty string</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>&lt;t:textfield value="name" validate="required" 
/&gt;</code></p></td></tr></tbody></table></div><h2 
id="FormsandValidation-CentralizingValidationwith@Validate">Centralizing Valid
 ation with @Validate</h2><p>The @<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/beaneditor/Validate.html";>Validate</a>
 annotation can take the place of the validate parameter of TextField, 
PasswordField, TextArea and other components. When the validate parameter is 
not bound, the component will check for the @Validate annotation and use its 
value as the validation definition.</p><p>The annotation may be placed on the 
getter or setter method, or on the field itself.</p><h2 
id="FormsandValidation-CustomizingValidationMessages">Customizing Validation 
Messages</h2><p>Each validator (such as "required" or "minlength") has a 
default message used (on the client side and the server side) when the 
constraint is violated; that is, when the user input is not valid.</p><p>The 
message can be customized by adding an entry to the page's <a shape="rect" 
href="localization.html">message catalog</a> (or the containing component's 
message ca
 talog). As with any localized property, this can also go into the 
application's message catalog.</p><p>The first key checked is 
<em>formId</em>-<em>fieldId</em>-<em>validatorName</em>-message.</p><ul><li>formId:
 the local component id of the Form component</li><li>fieldId: the local 
component id of the field (TextField, etc.)</li><li>validatorName: the name of 
the validator, i.e., "required" or "minlength"<br clear="none"> If there is not 
message for that key, a second check is made, for 
<em>fieldId</em>-<em>validatorName</em>-message.</li></ul><p>If that does not 
match a message, then the built-in default validation message is used.</p><h3 
id="FormsandValidation-CustomizingValidationMessagesforBeanEditForm">Customizing
 Validation Messages for BeanEditForm</h3><p>The <a shape="rect" 
href="beaneditform-guide.html">BeanEditForm</a> component also supports 
validation message customizing. The search for messages is similar; the 
<em>formId</em> is the component id of the BeanEditForm com
 ponent (not the Form component it contains). The <em>fieldId</em> is the 
property name.</p><h2 
id="FormsandValidation-ConfiguringValidatorContraintsintheMessageCatalog">Configuring
 Validator Contraints in the Message Catalog</h2><p>It is possible to omit the 
validation constraint from the validate parameter (or @Validator annotation), 
in which case it is expected to be stored in the message catalog.</p><p>This is 
useful when the validation constraint is awkward to enter inline, such as a 
regular expression for use with the regexp validator.</p><p>The key here is 
similar to customizing the validation message: 
<em>formId</em>-<em>fieldId</em>-<em>validatorName</em> or just 
<em>fieldId</em>-<em>validatorName</em>.</p><p>For example, your template may 
have the following:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[  &lt;t:textfield t:id=&quot;ssn&quot; 
validate=&quot;required,regexp&quot;/&gt;
 ]]></script>
 </div></div><p>And your message catalog can contain:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

Modified: websites/production/tapestry/content/forms.html
==============================================================================
--- websites/production/tapestry/content/forms.html (original)
+++ websites/production/tapestry/content/forms.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">Forms</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">Forms</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/frequently-asked-questions.html
==============================================================================
--- websites/production/tapestry/content/frequently-asked-questions.html 
(original)
+++ websites/production/tapestry/content/frequently-asked-questions.html 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">Frequently Asked Questions</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">Frequently Asked Questions</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/functional-flows.html
==============================================================================
--- websites/production/tapestry/content/functional-flows.html (original)
+++ websites/production/tapestry/content/functional-flows.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">Functional Flows</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">Functional Flows</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/general-questions.html
==============================================================================
--- websites/production/tapestry/content/general-questions.html (original)
+++ websites/production/tapestry/content/general-questions.html Sun Dec 14 
13:20:36 2014
@@ -75,11 +75,11 @@ table.ScrollbarTable td.ScrollbarNextNam
 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="ScrollbarPrevName" width="33%">&#160;</td><td 
colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a 
shape="rect" href="frequently-asked-questions.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="frequently-asked-questions.html">Frequently Asked Questions</a></td><td 
colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a 
shape="rect" href="templating-and-markup-faq.html">Templating and Markup 
FAQ</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a 
shape="rect" href="templating-and-markup-faq.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><h2 
id="GeneralQuestions-GeneralQuestions">General Questions</h2><p><style 
type="text/css
 ">/*<![CDATA[*/
-div.rbtoc1416658771961 {padding: 0px;}
-div.rbtoc1416658771961 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1416658771961 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1418563198265 {padding: 0px;}
+div.rbtoc1418563198265 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1418563198265 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1416658771961">
+/*]]>*/</style></p><div class="toc-macro rbtoc1418563198265">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#GeneralQuestions-GeneralQuestions">General Questions</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#GeneralQuestions-HowdoIgetstartedwithTapestry?">How do I get started 
with Tapestry?</a></li><li><a shape="rect" 
href="#GeneralQuestions-WhydoesTapestryusePrototype?WhynotinsertfavoriteJavaScriptlibraryhere?">Why
 does Tapestry use Prototype? Why not insert favorite JavaScript library 
here?</a></li><li><a shape="rect" 
href="#GeneralQuestions-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why
 does Tapestry have its own Inversion of Control Container? Why not Spring or 
Guice?</a></li><li><a shape="rect" 
href="#GeneralQuestions-HowdoIupgradefromTapestry4toTapestry5?">How do I 
upgrade from Tapestry 4 to Tapestry 5?</a></li><li><a shape="rect" 
href="#GeneralQuestions-HowdoIupgradefromoneversionofTapestry5toanother?">How 
do I upgrade from one version of Tapestry 5 to another?</a></li><li><a 
shape="rect" 
href="#GeneralQuestions-WhyaretherebothRequestandHttpServletRequest?">Why are 
there both Request and HttpSe
 rvletRequest?</a></li></ul>
 </li></ul>

Modified: websites/production/tapestry/content/getting-started.html
==============================================================================
--- websites/production/tapestry/content/getting-started.html (original)
+++ websites/production/tapestry/content/getting-started.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">Getting Started</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">Getting Started</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>
@@ -193,7 +187,7 @@ package: com.example.newapp
 </div></div><p>Maven will (after performing a number of one-time downloads) 
create a skeleton project ready to run. Because we specified an artifactId of 
"newapp", the project is created in the <code>newapp</code> directory. (Note: 
if you get "Unable to get resource" warnings at this stage, you may be behind a 
firewall which blocks outbound HTTP requests to Maven repositories.)</p><p>To 
run the skeleton application, change to the <code>newapp</code> directory and 
execute:</p><div class="preformatted panel" style="border-width: 1px;"><div 
class="preformattedContent panelContent">
 <pre>mvn jetty:run
 </pre>
-</div></div><p>After some more one-time downloads you can open your browser to 
<a shape="rect" class="external-link" href="http://localhost:8080/newapp"; 
>http://localhost:8080/newapp</a> to see the application running:</p><p><img 
class="confluence-embedded-image image-center" width="700" 
src="https://cwiki.apache.org/confluence/download/attachments/23334911/getting-started.png?version=1&amp;modificationDate=1321971947000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23334911/getting-started.png?version=1&amp;modificationDate=1321971947000&amp;api=v2"></p><p>The
 application consists of three pages sharing a common look and feel. The 
initial page, Index, allows you to perform some basic operations.</p><p>You can 
also load the newly-created project it into any IDE and start coding. See the 
next section on where to find the different components of the 
application.</p><h2 id="GettingStarted-Exploringthegeneratedproject">Exploring 
the generated project</h2><p>The archetype 
 creates the following files:</p><div class="preformatted panel" 
style="border-width: 1px;"><div class="preformattedContent panelContent">
+</div></div><p>After some more one-time downloads you can open your browser to 
<a shape="rect" class="external-link" href="http://localhost:8080/newapp"; 
>http://localhost:8080/newapp</a> to see the application running:</p><p><img 
class="confluence-embedded-image image-center" width="700" 
src="getting-started.data/getting-started.png" 
data-image-src="/confluence/download/attachments/23334911/getting-started.png?version=1&amp;modificationDate=1321971947000&amp;api=v2"></p><p>The
 application consists of three pages sharing a common look and feel. The 
initial page, Index, allows you to perform some basic operations.</p><p>You can 
also load the newly-created project it into any IDE and start coding. See the 
next section on where to find the different components of the 
application.</p><h2 id="GettingStarted-Exploringthegeneratedproject">Exploring 
the generated project</h2><p>The archetype creates the following files:</p><div 
class="preformatted panel" style="border-width: 1px;"><div class
 ="preformattedContent panelContent">
 <pre>newapp
 &#9500;&#9472;&#9472; build.gradle
 &#9500;&#9472;&#9472; gradle

Modified: websites/production/tapestry/content/hibernate-core-conf.html
==============================================================================
--- websites/production/tapestry/content/hibernate-core-conf.html (original)
+++ websites/production/tapestry/content/hibernate-core-conf.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">Hibernate - Core - Conf</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">Hibernate - Core - Conf</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -124,7 +118,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
+                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
                     
                 
                             </div>
@@ -133,7 +127,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
+                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/hibernate-core.html
==============================================================================
--- websites/production/tapestry/content/hibernate-core.html (original)
+++ websites/production/tapestry/content/hibernate-core.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">Hibernate - Core</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">Hibernate - Core</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -124,7 +118,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
+                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
                     
                 
                             </div>
@@ -133,7 +127,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
+                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/hibernate-statistics.html
==============================================================================
--- websites/production/tapestry/content/hibernate-statistics.html (original)
+++ websites/production/tapestry/content/hibernate-statistics.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">Hibernate Statistics</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">Hibernate Statistics</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -124,7 +118,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
+                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
                     
                 
                             </div>
@@ -133,7 +127,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
+                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
                     
                 
                             </div>
@@ -145,9 +139,9 @@
 <p>If you enable Hibernate statistics by setting the property 
<em>hibernate.generate_statistics</em> to <em>true</em>, Hibernate will expose 
a number of useful metrics. The page "Statistics" is used to expose these 
metrics. This page is only available in development mode.</p>
 
 
-<p><img class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23338472/hibernate-statistics.png?version=1&amp;modificationDate=1293570203000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23338472/hibernate-statistics.png?version=1&amp;modificationDate=1293570203000&amp;api=v2"></p>
+<p><img class="confluence-embedded-image" 
src="hibernate-statistics.data/hibernate-statistics.png" 
data-image-src="/confluence/download/attachments/23338472/hibernate-statistics.png?version=1&amp;modificationDate=1293570203000&amp;api=v2"></p>
 
-<p><img class="confluence-embedded-image" 
src="https://cwiki.apache.org/confluence/download/attachments/23338472/hibernate-statistics-2.png?version=1&amp;modificationDate=1293570203000&amp;api=v2";
 
data-image-src="/confluence/download/attachments/23338472/hibernate-statistics-2.png?version=1&amp;modificationDate=1293570203000&amp;api=v2"></p>
+<p><img class="confluence-embedded-image" 
src="hibernate-statistics.data/hibernate-statistics-2.png" 
data-image-src="/confluence/download/attachments/23338472/hibernate-statistics-2.png?version=1&amp;modificationDate=1293570203000&amp;api=v2"></p>
 
 <h1 
id="HibernateStatistics-HibernateConfigurationtoenabletheStatistics">Hibernate 
Configuration to enable the Statistics</h1>
 

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 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">Hibernate Support 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">Hibernate Support FAQ</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/hibernate-user-guide.html
==============================================================================
--- websites/production/tapestry/content/hibernate-user-guide.html (original)
+++ websites/production/tapestry/content/hibernate-user-guide.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">Hibernate User Guide</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">Hibernate User Guide</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -124,7 +118,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
+                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
                     
                 
                             </div>
@@ -133,7 +127,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
+                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/hibernate.html
==============================================================================
--- websites/production/tapestry/content/hibernate.html (original)
+++ websites/production/tapestry/content/hibernate.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">Hibernate</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">Hibernate</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -124,7 +118,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
+                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
                     
                 
                             </div>
@@ -133,7 +127,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>     
       </div>
 
             <div class="details">
-                            <a shape="rect" 
href="hibernate-user-guide.html">Hibernate User Guide</a>
+                            <a shape="rect" 
href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/hilo.html
==============================================================================
--- websites/production/tapestry/content/hilo.html (original)
+++ websites/production/tapestry/content/hilo.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">HiLo</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">HiLo</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/home.html
==============================================================================
--- websites/production/tapestry/content/home.html (original)
+++ websites/production/tapestry/content/home.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">Home</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">Home</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/how-to-upgrade.html
==============================================================================
--- websites/production/tapestry/content/how-to-upgrade.html (original)
+++ websites/production/tapestry/content/how-to-upgrade.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">How to Upgrade</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">How to Upgrade</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/https.html
==============================================================================
--- websites/production/tapestry/content/https.html (original)
+++ websites/production/tapestry/content/https.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">HTTPS</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">HTTPS</h1></div></div>
 <div class="clearer"></div>
 </div>
 


Reply via email to