Commits

Anonymous committed d932d1b

Fixing documents with wrong snippets

git-svn-id: http://svn.opensymphony.com/svn/webwork/trunk@2907573baa09-0c28-0410-bef9-dab3c582ae83

Comments (0)

Files changed (86)

docs/wikidocs/1.2.2 Press Release.html

             <th colspan="11" style="text-align: left;">
                                     <a href="/spaces/doexportspace.action?key=WW&macro.refresh=true#jiraissues"><img src="/images/icons/refresh_16.png" height="16" width="16" border="0" align="right" title="refresh"/></a>
                                 <a href="http://jira.opensymphony.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC&tempMax=1000">OpenSymphony JIRA</a>
-                <span class="smalltext">(22 issues)</span>
+                <span class="smalltext">(23 issues)</span>
             </th>
         </tr>
         <tr>
                             </tr>
                                     <tr class="rowNormal">
                                                             <td nowrap="true">
+                                            <a href="http://jira.opensymphony.com/browse/XW-473"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
+                                    </td>
+                                <td nowrap="true">
+                                            <a href="http://jira.opensymphony.com/browse/XW-473">XW-473</a>
+                                    </td>
+                                <td >
+                                            <a href="http://jira.opensymphony.com/browse/XW-473">Add RFC3339 date support to XWorkBasicConverter</a>
+                                    </td>
+                                <td nowrap="true">
+                                            Claus Ibsen
+                                    </td>
+                                <td nowrap="true">
+                                            Musachy Barroso
+                                    </td>
+                                <td nowrap="true">
+                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/priority_major.gif" alt="Major" border="0" />
+                                    </td>
+                                <td nowrap="true">
+                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
+                                    </td>
+                                <td nowrap="true">
+                                            <font color="990000">FIXED</font>
+                                    </td>
+                                <td nowrap="true">
+                                            Jan 31, 2007
+                                    </td>
+                                <td nowrap="true">
+                                            Apr 13, 2007
+                                    </td>
+                                <td nowrap="true">
+                                            
+                                    </td>
+                            </tr>
+                                    <tr class="rowAlternate">
+                                                            <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-469"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                 <td nowrap="true">
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowAlternate">
+                                    <tr class="rowNormal">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-467"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowNormal">
+                                    <tr class="rowAlternate">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-465"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowAlternate">
+                                    <tr class="rowNormal">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-458"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowNormal">
+                                    <tr class="rowAlternate">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-457"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowAlternate">
+                                    <tr class="rowNormal">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-456"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowNormal">
+                                    <tr class="rowAlternate">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-452"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowAlternate">
+                                    <tr class="rowNormal">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-442"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowNormal">
+                                    <tr class="rowAlternate">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-439"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowAlternate">
+                                    <tr class="rowNormal">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-423"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowNormal">
+                                    <tr class="rowAlternate">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-421"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowAlternate">
+                                    <tr class="rowNormal">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-417"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowNormal">
+                                    <tr class="rowAlternate">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-412"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowAlternate">
+                                    <tr class="rowNormal">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-411"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowNormal">
+                                    <tr class="rowAlternate">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-410"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
                                     </td>
                                             
                                     </td>
                             </tr>
-                                    <tr class="rowAlternate">
+                                    <tr class="rowNormal">
                                                             <td nowrap="true">
                                             <a href="http://jira.opensymphony.com/browse/XW-403"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10050&fixfor=21671&status=5&status=6&sorter/field=issuekey&sorter/order=DESC/images/icons/newfeature.gif" alt="New Feature" border="0" /></a>
                                     </td>

docs/wikidocs/CreateIfNull Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="CreateIfNullAnnotation-CreateIfNullAnnotation"></a>CreateIfNull Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>Sets the CreateIfNull for type conversion.</p>
 
 <h2><a name="CreateIfNullAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The CreateIfNull annotation must be applied at field or method level.</p>
 
 <h2><a name="CreateIfNullAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Required</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>value</td>
+<td>no</td>
+<td>false</td>
+<td>The CreateIfNull property value.</td>
+</tr>
+</tbody>
+</table></p>
 
 <h2><a name="CreateIfNullAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@CreateIfNull( value = <span class="code-keyword">true</span> )
+<span class="code-keyword">private</span> List&lt;User&gt; users;</pre>
+</div></div>
 
                     			    </td>
 		    </tr>

docs/wikidocs/CustomValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="CustomValidatorAnnotation-CustomValidatorAnnotation"></a>CustomValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This annotation can be used for custom validators. Use the ValidationParameter annotation to supply additional params.</p>
 
 <h2><a name="CustomValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method or type level.</p>
 
 <h2><a name="CustomValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+</table></p>
 
 <h2><a name="CustomValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@CustomValidator(type =<span class="code-quote">"customValidatorName"</span>, fieldName = <span class="code-quote">"myField"</span>)</pre>
+</div></div>
 
 <h2><a name="CustomValidatorAnnotation-AddingParameters"></a>Adding Parameters</h2>
 

docs/wikidocs/DateRangeFieldValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="DateRangeFieldValidatorAnnotation-DateRangeFieldValidatorAnnotation"></a>DateRangeFieldValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This validator checks that a date field has a value within a specified range.</p>
 
 <h2><a name="DateRangeFieldValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="DateRangeFieldValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+<tr>
+<td class='confluenceTd'> min </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Date property.  The minimum the date must be. </td>
+</tr>
+<tr>
+<td class='confluenceTd'> max </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Date property.  The maximum date can be. </td>
+</tr>
+</table></p>
+
+<p><p>If neither <em>min</em> nor <em>max</em> is set, nothing will be done.</p></p>
 
 <h2><a name="DateRangeFieldValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@DateRangeFieldValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, min = <span class="code-quote">"2005/01/01"</span>, max = <span class="code-quote">"2005/12/31"</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/DoubleRangeFieldValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="DoubleRangeFieldValidatorAnnotation-DoubleRangeFieldValidatorAnnotation"></a>DoubleRangeFieldValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This validator checks that a double field has a value within a specified range.
+If neither min nor max is set, nothing will be done.</p>
 
 <h2><a name="DoubleRangeFieldValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="DoubleRangeFieldValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+<tr>
+<td class='confluenceTd'> minInclusive </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Double property.  The inclusive minimum the number must be. </td>
+</tr>
+<tr>
+<td class='confluenceTd'> maxInclusive </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Double property.  The inclusive maximum number can be. </td>
+</tr>
+<tr>
+<td class='confluenceTd'> minExclusive </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Double property.  The exclusive minimum the number must be. </td>
+</tr>
+<tr>
+<td class='confluenceTd'> maxExclusive </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Double property.  The exclusive maximum number can be. </td>
+</tr>
+</table></p>
+
+<p><p>If neither <em>min</em> nor <em>max</em> is set, nothing will be done.</p></p>
+
+<p><p>The values for min and max must be inserted as String values so that "0" can be handled as a possible value.</p></p>
 
 <h2><a name="DoubleRangeFieldValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@DoubleRangeFieldValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, minInclusive = <span class="code-quote">"0.123"</span>, maxInclusive = <span class="code-quote">"99.987"</span>)</pre>
+</div></div>
 
                     			    </td>
 		    </tr>

docs/wikidocs/Element Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="ElementAnnotation-ElementAnnotation"></a>Element Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>Sets the Element for type conversion.</p>
 
 <h2><a name="ElementAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The Element annotation must be applied at field or method level.</p>
 
 <h2><a name="ElementAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Required</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>value</td>
+<td>no</td>
+<td>java.lang.Object.class</td>
+<td>The element property value.</td>
+</tr>
+</tbody>
+</table></p>
 
 <h2><a name="ElementAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java"><span class="code-comment">// The key property <span class="code-keyword">for</span> User objects within the users collection is the &lt;code&gt;userName&lt;/code&gt; attribute.
+</span>@Element( value = com.acme.User )
+<span class="code-keyword">private</span> Map&lt;<span class="code-object">Long</span>, User&gt; userMap;
+
+@Element( value = com.acme.User )
+<span class="code-keyword">public</span> List&lt;User&gt; userList;</pre>
+</div></div>
 
                     			    </td>
 		    </tr>

docs/wikidocs/EmailValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="EmailValidatorAnnotation-EmailValidatorAnnotation"></a>EmailValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This validator checks that a field is a valid e-mail address if it contains a non-empty String.</p>
 
 <h2><a name="EmailValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="EmailValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+</table></p>
 
 <h2><a name="EmailValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@EmailValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/ExpressionValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="ExpressionValidatorAnnotation-ExpressionValidatorAnnotation"></a>ExpressionValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This non-field level validator validates a supplied regular expression.</p>
 
 <h2><a name="ExpressionValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="ExpressionValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+<tr>
+<td class='confluenceTd'> expression </td>
+<td class='confluenceTd'> yes </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> An OGNL expression that returns a boolean value.  </td>
+</tr>
+</table></p>
 
 <h2><a name="ExpressionValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@ExpressionValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, expression = <span class="code-quote">"an OGNL expression"</span> )</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/FieldExpressionValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="FieldExpressionValidatorAnnotation-FieldExpressionValidatorAnnotation"></a>FieldExpressionValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This validator uses an OGNL expression to perform its validator.
+The error message will be added to the field if the expression returns
+false when it is evaluated against the value stack.</p>
 
 <h2><a name="FieldExpressionValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="FieldExpressionValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+<tr>
+<td class='confluenceTd'> expression </td>
+<td class='confluenceTd'> yes </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> An OGNL expression that returns a boolean value.  </td>
+</tr>
+</table></p>
 
 <h2><a name="FieldExpressionValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@FieldExpressionValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, expression = <span class="code-quote">"an OGNL expression"</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/KeyProperty Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="KeyPropertyAnnotation-KeyPropertyAnnotation"></a>KeyProperty Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>Sets the KeyProperty for type conversion.</p>
 
 <h2><a name="KeyPropertyAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The KeyProperty annotation must be applied at field or method level.
+<p/>This annotation should be used with Generic types, if the key property of the key element needs to be specified.</p>
 
 <h2><a name="KeyPropertyAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Required</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>value</td>
+<td>no</td>
+<td>id</td>
+<td>The key property value.</td>
+</tr>
+</tbody>
+</table></p>
 
 <h2><a name="KeyPropertyAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java"><span class="code-comment">// The key property <span class="code-keyword">for</span> User objects within the users collection is the &lt;code&gt;userName&lt;/code&gt; attribute.
+</span>@KeyProperty( value = <span class="code-quote">"userName"</span> )
+<span class="code-keyword">protected</span> List&lt;User&gt; users = <span class="code-keyword">null</span>;</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/Package Configuration.html

 
 <h1><a name="PackageConfiguration-Sampleusageofpackagesinxwork.xml"></a>Sample usage of packages in xwork.xml</h1>
 
-An error occurred: http://svn.opensymphony.com/svn/webwork/webapps/showcase/src/webapp/WEB-INF/classes/xwork.xml. The system administrator has been notified.
+<div class="code"><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;xwork&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"webwork-default.xml"</span> /&gt;</span>
+    
+    <span class="code-tag">&lt;include file=<span class="code-quote">"config-browser.xml"</span>/&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-continuations.xml"</span>/&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-tags.xml"</span>/&gt;</span>
+    
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-validation.xml"</span> /&gt;</span>
+    
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-actionchaining.xml"</span> /&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-ajax.xml"</span> /&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-fileupload.xml"</span> /&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-person.xml"</span> /&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-wait.xml"</span> /&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-token.xml"</span> /&gt;</span>
+    
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-model-driven.xml"</span> /&gt;</span>
+    
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-filedownload.xml"</span> /&gt;</span>
+    
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-freemarker.xml"</span> /&gt;</span>
+
+	<span class="code-tag">&lt;include file=<span class="code-quote">"xwork-wizard.xml"</span> /&gt;</span>
+
+    <span class="code-tag"><span class="code-comment">&lt;!-- See Jira http://jira.opensymphony.com/browse/WW-1437 for details --&gt;</span></span>
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-sessionInvalidation.xml"</span> /&gt;</span>
+	
+	<span class="code-tag">&lt;include file=<span class="code-quote">"xwork-flash.xml"</span> /&gt;</span>
+	
+	<span class="code-tag">&lt;include file=<span class="code-quote">"xwork-sitemesh.xml"</span> /&gt;</span>
+
+    <span class="code-tag">&lt;include file=<span class="code-quote">"xwork-i18n.xml"</span> /&gt;</span>
+
+    <span class="code-tag">&lt;package name=<span class="code-quote">"default"</span> extends=<span class="code-quote">"webwork-default"</span>&gt;</span>
+        <span class="code-tag">&lt;interceptors&gt;</span>
+            <span class="code-tag">&lt;interceptor-stack name=<span class="code-quote">"crudStack"</span>&gt;</span>
+                <span class="code-tag">&lt;interceptor-ref name=<span class="code-quote">"params"</span> /&gt;</span>
+                <span class="code-tag">&lt;interceptor-ref name=<span class="code-quote">"defaultStack"</span> /&gt;</span>
+            <span class="code-tag">&lt;/interceptor-stack&gt;</span>
+        <span class="code-tag">&lt;/interceptors&gt;</span>
+		
+		<span class="code-tag">&lt;default-action-ref name=<span class="code-quote">"showcase"</span>/&gt;</span>
+		
+        <span class="code-tag">&lt;action name=<span class="code-quote">"showcase"</span>&gt;</span>
+            <span class="code-tag">&lt;result&gt;</span>showcase.jsp<span class="code-tag">&lt;/result&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+
+        <span class="code-tag">&lt;action name=<span class="code-quote">"date"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.DateAction"</span>&gt;</span>
+            <span class="code-tag">&lt;result name=<span class="code-quote">"success"</span>&gt;</span>/date.jsp<span class="code-tag">&lt;/result&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+
+    <span class="code-tag">&lt;/package&gt;</span>
+
+    <span class="code-tag">&lt;package name=<span class="code-quote">"skill"</span> extends=<span class="code-quote">"default"</span> namespace=<span class="code-quote">"/skill"</span>&gt;</span>
+        <span class="code-tag">&lt;default-interceptor-ref name=<span class="code-quote">"crudStack"</span>/&gt;</span>
+
+        <span class="code-tag">&lt;action name=<span class="code-quote">"list"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.action.SkillAction"</span> method=<span class="code-quote">"list"</span>&gt;</span>
+            <span class="code-tag">&lt;result&gt;</span>/empmanager/listSkills.jsp<span class="code-tag">&lt;/result&gt;</span>
+            <span class="code-tag">&lt;interceptor-ref name=<span class="code-quote">"defaultStack"</span>/&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+        <span class="code-tag">&lt;action name=<span class="code-quote">"edit"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.action.SkillAction"</span>&gt;</span>
+            <span class="code-tag">&lt;result&gt;</span>/empmanager/editSkill.jsp<span class="code-tag">&lt;/result&gt;</span>
+            <span class="code-tag">&lt;interceptor-ref name=<span class="code-quote">"params"</span> /&gt;</span>
+            <span class="code-tag">&lt;interceptor-ref name=<span class="code-quote">"basicStack"</span>/&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+        <span class="code-tag">&lt;action name=<span class="code-quote">"save"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.action.SkillAction"</span> method=<span class="code-quote">"save"</span>&gt;</span>
+            <span class="code-tag">&lt;result name=<span class="code-quote">"input"</span>&gt;</span>/empmanager/editSkill.jsp<span class="code-tag">&lt;/result&gt;</span>
+            <span class="code-tag">&lt;result type=<span class="code-quote">"redirect"</span>&gt;</span>edit.action?skillName=${currentSkill.name}<span class="code-tag">&lt;/result&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+        <span class="code-tag">&lt;action name=<span class="code-quote">"delete"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.action.SkillAction"</span> method=<span class="code-quote">"delete"</span>&gt;</span>
+            <span class="code-tag">&lt;result name=<span class="code-quote">"error"</span>&gt;</span>/empmanager/editSkill.jsp<span class="code-tag">&lt;/result&gt;</span>
+            <span class="code-tag">&lt;result type=<span class="code-quote">"redirect"</span>&gt;</span>edit.action?skillName=${currentSkill.name}<span class="code-tag">&lt;/result&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+    <span class="code-tag">&lt;/package&gt;</span>
+
+    <span class="code-tag">&lt;package name=<span class="code-quote">"employee"</span> extends=<span class="code-quote">"default"</span> namespace=<span class="code-quote">"/employee"</span>&gt;</span>
+        <span class="code-tag">&lt;default-interceptor-ref name=<span class="code-quote">"crudStack"</span>/&gt;</span>
+
+        <span class="code-tag">&lt;action name=<span class="code-quote">"list"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.action.EmployeeAction"</span> method=<span class="code-quote">"list"</span>&gt;</span>
+            <span class="code-tag">&lt;result&gt;</span>/empmanager/listEmployees.jsp<span class="code-tag">&lt;/result&gt;</span>
+            <span class="code-tag">&lt;interceptor-ref name=<span class="code-quote">"basicStack"</span>/&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+        <span class="code-tag">&lt;action name=<span class="code-quote">"edit"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.action.EmployeeAction"</span>&gt;</span>
+            <span class="code-tag">&lt;result&gt;</span>/empmanager/editEmployee.jsp<span class="code-tag">&lt;/result&gt;</span>
+            <span class="code-tag">&lt;interceptor-ref name=<span class="code-quote">"crudStack"</span>&gt;</span><span class="code-tag">&lt;param name=<span class="code-quote">"validation.excludeMethods"</span>&gt;</span>execute<span class="code-tag">&lt;/param&gt;</span><span class="code-tag">&lt;/interceptor-ref&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+        <span class="code-tag">&lt;action name=<span class="code-quote">"save"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.action.EmployeeAction"</span> method=<span class="code-quote">"save"</span>&gt;</span>
+            <span class="code-tag">&lt;result name=<span class="code-quote">"input"</span>&gt;</span>/empmanager/editEmployee.jsp<span class="code-tag">&lt;/result&gt;</span>
+            <span class="code-tag">&lt;result type=<span class="code-quote">"redirect"</span>&gt;</span>edit.action?empId=${currentEmployee.empId}<span class="code-tag">&lt;/result&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+        <span class="code-tag">&lt;action name=<span class="code-quote">"delete"</span> class=<span class="code-quote">"com.opensymphony.webwork.showcase.action.EmployeeAction"</span> method=<span class="code-quote">"delete"</span>&gt;</span>
+            <span class="code-tag">&lt;result name=<span class="code-quote">"error"</span>&gt;</span>/empmanager/editEmployee.jsp<span class="code-tag">&lt;/result&gt;</span>
+            <span class="code-tag">&lt;result type=<span class="code-quote">"redirect"</span>&gt;</span>edit.action?empId=${currentEmployee.empId}<span class="code-tag">&lt;/result&gt;</span>
+        <span class="code-tag">&lt;/action&gt;</span>
+    <span class="code-tag">&lt;/package&gt;</span>
+
+<span class="code-tag">&lt;/xwork&gt;</span></pre>
+</div></div>
 
                     			    </td>
 		    </tr>

docs/wikidocs/Pure JavaScript Client Side Validation.html

 			    <td valign="top" class="pagebody">
 				    <p>Pure JavaScript client side validation is the simplest but least feature-rich type of <a href="Client Side Validation.html" title="Client Side Validation">Client Side Validation</a>. This type of validation uses 100% client-side JavaScript code to try to validate the values entered by the user. Because the validation logic is actually repeated in the JavaScript code, it is important to understand that some values will be considered acceptable by the JavaScript code but will be marked as unacceptable by the server-side <a href="Validation.html" title="Validation">Validation</a>.</p>
 
-An error occurred: http://svn.opensymphony.com/svn/webwork/src/java/template/xhtml/form-close-validate.ftl. The system administrator has been notified.
+<p>Only the following validators are supported:</p>
+<ul>
+	<li>required validator</li>
+	<li>requiredstring validator</li>
+	<li>stringlength validator</li>
+	<li>regex validator</li>
+	<li>email validator</li>
+	<li>url validator</li>
+	<li>int validator</li>
+	<li>double validator</li>
+</ul>
+
 
 <h1><a name="PureJavaScriptClientSideValidation-Errorreporting"></a>Error reporting</h1>
 

docs/wikidocs/QuickStart.html

 <h2><a name="QuickStart-Usingthequickstart.xmlFile"></a>Using the quickstart.xml File</h2>
 
 <p>Sometimes the command line options still aren't enough. For whatever reasons, port 8080 might not be enough, or you may need to extend other configurations. Or perhaps your libs are not in your project but instead are in some other directory (very common if you use Maven to build your project). To help out, QuickStart provides a configuration file that let's you tweak how the deployment happens and how it is configured as much as you'd like. Consider the sample quickstart.xml file:</p>
-An error occurred: http://svn.opensymphony.com/svn/webwork/webapps/showcase/quickstart.xml. The system administrator has been notified.
+<div class="code"><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;configuration&gt;</span>
+    &lt;!--
+    QuickStart can be used to extend other QuickStart configurations.
+    This is great for applications that have multiple <span class="code-quote">"editions"</span> and
+    extend upon a base webapp or evven just a base set of classes.
+    --&gt;
+    <span class="code-tag"><span class="code-comment">&lt;!--&lt;extendsConfig&gt;</span>../path/to/quickstart.xml<span class="code-tag">&lt;/extendsConfig&gt;</span>--&gt;</span>
+
+    &lt;!--
+    QuickStart supports reading your IDEA module configuration and
+    using the libraries there. This is especially useful for maven
+    users who don't have a single directory in their project that
+    contains all the libraries they need.
+    --&gt;
+    <span class="code-tag"><span class="code-comment">&lt;!--&lt;ideaConfig&gt;</span>ShowCase.iml<span class="code-tag">&lt;/ideaConfig&gt;</span>--&gt;</span>
+
+    <span class="code-tag"><span class="code-comment">&lt;!-- The context in which to deploy the web application --&gt;</span></span>
+    <span class="code-tag">&lt;context&gt;</span>/showcase<span class="code-tag">&lt;/context&gt;</span>
+
+    <span class="code-tag"><span class="code-comment">&lt;!-- The port in which to deploy the web application --&gt;</span></span>
+    <span class="code-tag">&lt;port&gt;</span>8080<span class="code-tag">&lt;/port&gt;</span>
+
+    &lt;!--
+    The libs directories can be a jar, a directory of jars, or even
+    a directory of directories (searched recursively)
+    --&gt;
+    <span class="code-tag">&lt;libs&gt;</span>
+        <span class="code-tag">&lt;dir&gt;</span>../../lib<span class="code-tag">&lt;/dir&gt;</span>
+    <span class="code-tag">&lt;/libs&gt;</span>
+
+    &lt;!--
+    Optional: the location where your source files are. If this is
+    not included, the auto-recompiling feature of QuickStart will
+    not be enabled. You may wish to do this anyway, as this feature
+    has been known to cause strange side effects. If you don't
+    specify your sources, you must specify where your classes are by
+    using the classDirs and libs elements
+    --&gt;
+    <span class="code-tag">&lt;sources&gt;</span>
+        <span class="code-tag">&lt;dir&gt;</span>src/java<span class="code-tag">&lt;/dir&gt;</span>
+    <span class="code-tag">&lt;/sources&gt;</span>
+
+    &lt;!--
+    The classDirs directories can be a jar or a directory of classes.
+    The WEB-INF/classes directory for each webDir (below) will automatically
+    be added if it exists.
+
+    <span class="code-tag">&lt;classDirs&gt;</span>
+        <span class="code-tag">&lt;dir&gt;</span>src/webapp/WEB-INF/classes<span class="code-tag">&lt;/dir&gt;</span>
+    <span class="code-tag">&lt;/classDirs&gt;</span>
+    --&gt;
+
+    &lt;!--
+    You can specify one or more directories where your webapp files
+    are located. This is useful if you have your project split up in
+    unique ways. You can also specify the path that the directory is
+    mapped to, relative to the context.
+    --&gt;
+    <span class="code-tag">&lt;webDirs&gt;</span>
+        <span class="code-tag">&lt;webDir&gt;</span>
+            <span class="code-tag">&lt;path&gt;</span>/<span class="code-tag">&lt;/path&gt;</span>
+            <span class="code-tag">&lt;dir&gt;</span>src/webapp<span class="code-tag">&lt;/dir&gt;</span>
+        <span class="code-tag">&lt;/webDir&gt;</span>
+    <span class="code-tag">&lt;/webDirs&gt;</span>
+<span class="code-tag">&lt;/configuration&gt;</span></pre>
+</div></div>
 <p>&nbsp;</p>
 
 <p>If you use this deployment technique, <b>you must remember</b> that quickstart.xml must be in the same working directory in which you execute the <b>java &#45;jar webwork.jar quickstart</b> command. You don't need to pass any additional command line arguments to QuickStart, but you must have this file in your working directory.</p>

docs/wikidocs/RegexFieldValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="RegexFieldValidatorAnnotation-RegexFieldValidatorAnnotation"></a>RegexFieldValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>Validates a string field using a regular expression.</p>
 
 <h2><a name="RegexFieldValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="RegexFieldValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+</table></p>
 
 <h2><a name="RegexFieldValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@RegexFieldValidator( key = <span class="code-quote">"regex.field"</span>, expression = <span class="code-quote">"yourregexp"</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/RequiredFieldValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="RequiredFieldValidatorAnnotation-RequiredFieldValidatorAnnotation"></a>RequiredFieldValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This validator checks that a field is non-null.</p>
 
 <h2><a name="RequiredFieldValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="RequiredFieldValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+</table></p>
 
 <h2><a name="RequiredFieldValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@RequiredFieldValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/RequiredStringValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="RequiredStringValidatorAnnotation-RequiredStringValidatorAnnotation"></a>RequiredStringValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This validator checks that a String field is not empty (i.e. non-null with a length > 0).</p>
 
 <h2><a name="RequiredStringValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="RequiredStringValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+<tr>
+<td class='confluenceTd'> trim </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'> true </td>
+<td class='confluenceTd'> Boolean property.  Determines whether the String is trimmed before performing the length check.  </td>
+</tr>
+</table></p>
 
 <h2><a name="RequiredStringValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@RequiredStringValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, trim = <span class="code-keyword">true</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/SiteGraph.html

 <p>You can use SiteGraph with the following command:</p>
 
 <div class="code"><div class="codeContent">
-<pre class="code-java">java -cp ... -jar webwork.jar 
-     sitegraph
-     -config CONFIG_DIR 
-     -views VIEWS_DIRS 
-     -output OUTPUT 
+<pre class="code-java">java -cp ... -jar webwork.jar 
+     sitegraph
+     -config CONFIG_DIR 
+     -views VIEWS_DIRS 
+     -output OUTPUT 
      [-ns NAMESPACE]</pre>
 </div></div>
 
 <p>Where:</p>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-none">Usage: -config CONFIG_DIR -views VIEWS_DIRS -output OUTPUT [-ns NAMESPACE]
+       CONFIG_DIR =&gt; a directory containing xwork.xml
+       VIEWS_DIRS =&gt; comma seperated list of dirs containing JSPs, VMs, etc
+       OUPUT      =&gt; the directory where the output should go
+       NAMESPACE  =&gt; the namespace path restriction (/, /foo, etc)</pre>
+</div></div>
 
 <table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>You must supply the correct classpath when invoking the SiteGraph tool. Specifically, the XWork, WebWork, and their dependencies must be included in the classpath. Futhermore, <b>you must also include your action class files referenced in xwork.xml</b>. Without the proper class path entries, SiteGraph will not function properly.</td></tr></table>
 

docs/wikidocs/SiteMesh.html

 
 <p>If you are using Velocity for your SiteMesh decorators, we recommend using the VelocityPageFilter. This is an extension of the SiteMesh PageFilter, which should be placed in the web.xml in between the <b>ActionContextCleanUp</b> and the <b>FilterDispatcher</b>. Now the Velocity decorators will have access to WebWork variables such as $stack and $request.</p>
 
-An error occurred: http://svn.opensymphony.com/svn/webwork/trunk/webwork/webapps/showcase/src/webapp/WEB-INF/web.xml?content-type=text%2Fplain. The system administrator has been notified.
+<div class="code"><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;filter&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>webwork-cleanup<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;filter-class&gt;</span>com.opensymphony.webwork.dispatcher.ActionContextCleanUp<span class="code-tag">&lt;/filter-class&gt;</span>
+<span class="code-tag">&lt;/filter&gt;</span>
+<span class="code-tag">&lt;filter&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>sitemesh<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;filter-class&gt;</span>com.opensymphony.webwork.sitemesh.VelocityPageFilter<span class="code-tag">&lt;/filter-class&gt;</span>
+<span class="code-tag">&lt;/filter&gt;</span>
+<span class="code-tag">&lt;filter&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>webwork<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;filter-class&gt;</span>com.opensymphony.webwork.dispatcher.FilterDispatcher<span class="code-tag">&lt;/filter-class&gt;</span>
+<span class="code-tag">&lt;/filter&gt;</span>
+
+<span class="code-tag">&lt;filter-mapping&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>webwork-cleanup<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;url-pattern&gt;</span>/*<span class="code-tag">&lt;/url-pattern&gt;</span>
+<span class="code-tag">&lt;/filter-mapping&gt;</span>
+<span class="code-tag">&lt;filter-mapping&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>sitemesh<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;url-pattern&gt;</span>/*<span class="code-tag">&lt;/url-pattern&gt;</span>
+<span class="code-tag">&lt;/filter-mapping&gt;</span>
+<span class="code-tag">&lt;filter-mapping&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>webwork<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;url-pattern&gt;</span>/*<span class="code-tag">&lt;/url-pattern&gt;</span>
+<span class="code-tag">&lt;/filter-mapping&gt;</span></pre>
+</div></div>
 
 
 <h3><a name="SiteMesh-FreeMarker"></a>FreeMarker </h3>
 
 <p>If you are using FreeMarker for your SiteMesh decorators, we recommend using the FreeMarkerPageFilter. This is an extension of the SiteMesh PageFilter, which should be placed in the web.xml in between the <b>ActionContextCleanUp</b> and the <b>FilterDispatcher</b>. Now the FreeMarker decorators will have access to WebWork variables such as ${stack} and ${request}.</p>
 
-An error occurred: http://svn.opensymphony.com/svn/webwork/trunk/webwork/webapps/showcase/src/webapp/WEB-INF/web.xml?content-type=text%2Fplain. The system administrator has been notified.
+<div class="code"><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;filter&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>webwork-cleanup<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;filter-class&gt;</span>com.opensymphony.webwork.dispatcher.ActionContextCleanUp<span class="code-tag">&lt;/filter-class&gt;</span>
+<span class="code-tag">&lt;/filter&gt;</span>
+<span class="code-tag">&lt;filter&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>sitemesh<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;filter-class&gt;</span>com.opensymphony.webwork.sitemesh.FreeMarkerPageFilter<span class="code-tag">&lt;/filter-class&gt;</span>
+<span class="code-tag">&lt;/filter&gt;</span>
+<span class="code-tag">&lt;filter&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>webwork<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;filter-class&gt;</span>com.opensymphony.webwork.dispatcher.FilterDispatcher<span class="code-tag">&lt;/filter-class&gt;</span>
+<span class="code-tag">&lt;/filter&gt;</span>
+
+<span class="code-tag">&lt;filter-mapping&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>webwork-cleanup<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;url-pattern&gt;</span>/*<span class="code-tag">&lt;/url-pattern&gt;</span>
+<span class="code-tag">&lt;/filter-mapping&gt;</span>
+<span class="code-tag">&lt;filter-mapping&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>sitemesh<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;url-pattern&gt;</span>/*<span class="code-tag">&lt;/url-pattern&gt;</span>
+<span class="code-tag">&lt;/filter-mapping&gt;</span>
+<span class="code-tag">&lt;filter-mapping&gt;</span>
+    <span class="code-tag">&lt;filter-name&gt;</span>webwork<span class="code-tag">&lt;/filter-name&gt;</span>
+    <span class="code-tag">&lt;url-pattern&gt;</span>/*<span class="code-tag">&lt;/url-pattern&gt;</span>
+<span class="code-tag">&lt;/filter-mapping&gt;</span></pre>
+</div></div>
 
 <p>The following variables are available to the decorating freemarker page :-
 <ul>

docs/wikidocs/StringLengthFieldValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="StringLengthFieldValidatorAnnotation-StringLengthFieldValidatorAnnotation"></a>StringLengthFieldValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This validator checks that a String field is of the right length. It assumes that the field is a String.
+If neither minLength nor maxLength is set, nothing will be done.</p>
 
 <h2><a name="StringLengthFieldValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="StringLengthFieldValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+<tr>
+<td class='confluenceTd'> trim </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'> true </td>
+<td class='confluenceTd'> Boolean property.  Determines whether the String is trimmed before performing the length check.  </td>
+</tr>
+<tr>
+<td class='confluenceTd'> minLength </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Integer property.  The minimum length the String must be. </td>
+</tr>
+<tr>
+<td class='confluenceTd'> maxLength </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Integer property.  The maximum length the String can be. </td>
+</tr>
+</table></p>
+
+<p><p>If neither <em>minLength</em> nor <em>maxLength</em> is set, nothing will be done.</p></p>
+
 
 <h2><a name="StringLengthFieldValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@StringLengthFieldValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, trim = <span class="code-keyword">true</span>, minLength = <span class="code-quote">"5"</span>,  maxLength = <span class="code-quote">"12"</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/StringRegexValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="StringRegexValidatorAnnotation-StringRegexValidatorAnnotation"></a>StringRegexValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>StringRegexValidator checks that a given String field, if not empty,
+matches the configured regular expression.</p>
 
 <h2><a name="StringRegexValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="StringRegexValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+<tr>
+<td class='confluenceTd'> regex</td>
+<td class='confluenceTd'> yes </td>
+<td class='confluenceTd'> "." </td>
+<td class='confluenceTd'> String property.  The Regular Expression for which to check a match.  </td>
+</tr>
+<tr>
+<td class='confluenceTd'> caseSensitive</td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'> true </td>
+<td class='confluenceTd'> Whether the matching of alpha characters in the expression should be done case-sensitively. </td>
+</tr>
+</table></p>
 
 <h2><a name="StringRegexValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@StringRegexValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, regex = <span class="code-quote">"a regular expression"</span>, caseSensitive = <span class="code-keyword">true</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/Type Conversion.html

 
 <h2><a name="TypeConversion-BuiltinTypeConversionSupport"></a>Built in Type Conversion Support</h2>
 
-<p><p/>
-WebWork will automatically handle the most common type conversion for you. This includes support for converting to
-and from Strings for each of the following:
+<p>XWork will automatically handle the most common type conversion for you.
 <p/>
+This includes support for converting to and from Strings for each of the following:
 <ul>
-<p/>
 <li>String</li>
-<p/>
 <li>boolean / Boolean</li>
-<p/>
 <li>char / Character</li>
-<p/>
 <li>int / Integer, float / Float, long / Long, double / Double</li>
-<p/>
-<li>dates - uses the SHORT format for the Locale associated with the current request</li>
-<p/>
+<li>dates - uses the SHORT or RFC3339 format (<code>yyyy-MM-dd'T'HH:mm:ss</code>) for the Locale associated with the current request</li>
 <li>arrays - assuming the individual strings can be coverted to the individual items</li>
-<p/>
 <li>collections - if not object type can be determined, it is assumed to be a String and a new ArrayList is
 created</li>
-<p/>
 </ul>
 <p/>
-<p/> Note that with arrays the type conversion will defer to the type of the array elements and try to convert each
+<b>Note:</b> that with arrays the type conversion will defer to the type of the array elements and try to convert each
 item individually. As with any other type conversion, if the conversion can't be performed the standard type
-conversion error reporting is used to indicate a problem occured while processing the type conversion.
-<p/></p>
+conversion error reporting is used to indicate a problem occured while processing the type conversion.</p>
 <p>&nbsp;</p>
 
 <h2><a name="TypeConversion-RelationshiptoParameterNames"></a>Relationship to Parameter Names</h2>

docs/wikidocs/TypeConversion Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="TypeConversionAnnotation-TypeConversionAnnotation"></a>TypeConversion Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>This annotation is used for class and application wide conversion rules.
+<p>
+Class wide conversion:<br/>
+The conversion rules will be assembled in a file called <code>XXXAction-conversion.properties</code>
+within the same package as the related action class.
+Set type to: <code>type = ConversionType.CLASS</code>
+</p>
+<p>
+Allication wide conversion:<br/>
+The conversion rules will be assembled within the <code>xwork-conversion.properties</code> file within the classpath root.
+Set type to: <code>type = ConversionType.APPLICATION</code>
+<p/></p>
 
 <h2><a name="TypeConversionAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>The TypeConversion annotation can be applied at property and method level.</p>
 
 <h2><a name="TypeConversionAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Required</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>key</td>
+<td>no</td>
+<td>The annotated property/key name</td>
+<td>The optional property name mostly used within TYPE level annotations.</td>
+</tr>
+<tr>
+<td>type</td>
+<td>no</td>
+<td>ConversionType.CLASS</td>
+<td>Enum value of ConversionType.  Determines whether the conversion should be applied at application or class level.</td>
+</tr>
+<tr>
+<td>rule</td>
+<td>no</td>
+<td>ConversionRule.PROPERTY</td>
+<td>Enum value of ConversionRule. The ConversionRule can be a property, a Collection or a Map.</td>
+</tr>
+<tr>
+<td>converter</td>
+<td>either this or value</td>
+<td>&nbsp;</td>
+<td>The class name of the TypeConverter to be used as converter.</td>
+</tr>
+<tr>
+<td>value</td>
+<td>either converter or this</td>
+<td>&nbsp;</td>
+<td>The value to set for ConversionRule.KEY_PROPERTY.</td>
+</tr>
+</tbody>
+</table></p>
+
 
 <h2><a name="TypeConversionAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@Conversion()
+<span class="code-keyword">public</span> class ConversionAction <span class="code-keyword">implements</span> Action {
+
+  <span class="code-keyword">private</span> <span class="code-object">String</span> convertInt;
+
+  <span class="code-keyword">private</span> <span class="code-object">String</span> convertDouble;
+  <span class="code-keyword">private</span> List users = <span class="code-keyword">null</span>;
+
+  <span class="code-keyword">private</span> HashMap keyValues = <span class="code-keyword">null</span>;
+
+  @TypeConversion(type = ConversionType.APPLICATION, converter = <span class="code-quote">"com.opensymphony.xwork.util.XWorkBasicConverter"</span>)
+  <span class="code-keyword">public</span> void setConvertInt( <span class="code-object">String</span> convertInt ) {
+      <span class="code-keyword">this</span>.convertInt = convertInt;
+  }
+
+  @TypeConversion(converter = <span class="code-quote">"com.opensymphony.xwork.util.XWorkBasicConverter"</span>)
+  <span class="code-keyword">public</span> void setConvertDouble( <span class="code-object">String</span> convertDouble ) {
+      <span class="code-keyword">this</span>.convertDouble = convertDouble;
+  }
+
+  @TypeConversion(rule = ConversionRule.COLLECTION, converter = <span class="code-quote">"java.util.<span class="code-object">String</span>"</span>)
+  <span class="code-keyword">public</span> void setUsers( List users ) {
+      <span class="code-keyword">this</span>.users = users;
+  }
+
+  @TypeConversion(rule = ConversionRule.MAP, converter = <span class="code-quote">"java.math.BigInteger"</span>)
+  <span class="code-keyword">public</span> void setKeyValues( HashMap keyValues ) {
+      <span class="code-keyword">this</span>.keyValues = keyValues;
+  }
+
+  @TypeConversion(type = ConversionType.APPLICATION, property = <span class="code-quote">"java.util.Date"</span>, converter = <span class="code-quote">"com.opensymphony.xwork.util.XWorkBasicConverter"</span>)
+  <span class="code-keyword">public</span> <span class="code-object">String</span> execute() <span class="code-keyword">throws</span> Exception {
+      <span class="code-keyword">return</span> SUCCESS;
+  }
+}</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/UrlValidator Annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="UrlValidatorAnnotation-UrlValidatorAnnotation"></a>UrlValidator Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>This validator checks that a field is a valid URL.</p>
 
 <h2><a name="UrlValidatorAnnotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must be applied at method level.</p>
 
 <h2><a name="UrlValidatorAnnotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+</table></p>
 
 <h2><a name="UrlValidatorAnnotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@UrlValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>)</pre>
+</div></div>
 
 
                     			    </td>

docs/wikidocs/ValidationParameter annotation.html

 			    <td valign="top" class="pagebody">
 				    <h1><a name="ValidationParameterannotation-ValidationParameterAnnotation"></a>ValidationParameter Annotation</h1>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p>The ValidationParameter annotation is used as a parameter for CustomValidators.</p>
 
 <h2><a name="ValidationParameterannotation-Usage"></a>Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><p/>The annotation must embedded into CustomValidator annotations as a parameter.</p>
 
 <h2><a name="ValidationParameterannotation-Parameters"></a>Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>name</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>parameter name.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>value</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>parameter value.</td>
+</tr>
+</table></p>
 
 <h2><a name="ValidationParameterannotation-Examples"></a>Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IllegalArgumentException: Invalid url: must begin with a configured prefix.</span> </div>
+<div class="code"><div class="codeContent">
+<pre class="code-java">@CustomValidator(
+  type =<span class="code-quote">"customValidatorName"</span>,