This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new c68849d Automatic Site Publish by Buildbot
c68849d is described below
commit c68849dcfca72a1745303904980f267c19d31656
Author: buildbot <[email protected]>
AuthorDate: Sun Oct 4 08:32:42 2020 +0000
Automatic Site Publish by Buildbot
---
output/core-developers/basic-validation.html | 25 +-
output/core-developers/client-side-validation.html | 54 ++--
.../conditionalvisitor-validator.html | 23 +-
output/core-developers/conversion-validator.html | 115 +++++----
output/core-developers/date-validator.html | 69 +++---
output/core-developers/double-validator.html | 66 ++---
output/core-developers/email-validator.html | 66 ++---
output/core-developers/expression-validator.html | 20 +-
.../core-developers/fieldexpression-validator.html | 40 +--
output/core-developers/int-validator.html | 64 ++---
output/core-developers/namespace-annotation.html | 3 +-
output/core-developers/regex-validator.html | 54 ++--
output/core-developers/required-validator.html | 34 +--
.../core-developers/requiredstring-validator.html | 55 +++--
output/core-developers/short-validator.html | 64 ++---
output/core-developers/stringlength-validator.html | 73 +++---
output/core-developers/url-validator.html | 38 +--
output/core-developers/using-field-validators.html | 95 ++++---
.../using-visitor-field-validator.html | 62 ++---
output/core-developers/validation.html | 50 ++--
output/core-developers/visitor-validator.html | 43 ++--
output/core-developers/zero-configuration.html | 274 ---------------------
22 files changed, 607 insertions(+), 780 deletions(-)
diff --git a/output/core-developers/basic-validation.html
b/output/core-developers/basic-validation.html
index 3b41d3f..734472e 100644
--- a/output/core-developers/basic-validation.html
+++ b/output/core-developers/basic-validation.html
@@ -129,7 +129,14 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/basic-validation.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="basic-validation">Basic Validation</h1>
+ <h1 class="no_toc" id="basic-validation">Basic Validation</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#step-1" id="markdown-toc-step-1">Step 1</a></li>
+ <li><a href="#step-2" id="markdown-toc-step-2">Step 2</a></li>
+ <li><a href="#step-3" id="markdown-toc-step-3">Step 3</a></li>
+ <li><a href="#step-4" id="markdown-toc-step-4">Step 4</a></li>
+</ul>
<p>Let’s configure a basic validation workflow, step by step.</p>
@@ -137,8 +144,7 @@
<p>Create the input form.</p>
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
-<span class="nt"><html></span>
+<div class="language-html highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><html></span>
<span class="nt"><head></span>
<span class="nt"><title></span>Struts2 Showcase - Validation -
Basic<span class="nt"></title></span>
<span class="nt"><s:head/></span>
@@ -170,15 +176,13 @@
<span class="nt"></div></span>
<span class="nt"></body></span>
<span class="nt"></html></span>
-
</code></pre></div></div>
<h2 id="step-2">Step 2</h2>
<p>Create the Action class.</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
-<span class="kd">public</span> <span class="kd">class</span> <span
class="nc">QuizAction</span> <span class="kd">extends</span> <span
class="n">ActionSupport</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="kd">public</span> <span
class="kd">class</span> <span class="nc">QuizAction</span> <span
class="kd">extends</span> <span class="n">ActionSupport</span> <span
class="o">{</span>
<span class="kd">private</span> <span class="kd">static</span> <span
class="kd">final</span> <span class="kt">long</span> <span
class="n">serialVersionUID</span> <span class="o">=</span> <span
class="o">-</span><span class="mi">7505437345373234225L</span><span
class="o">;</span>
@@ -210,13 +214,12 @@
<span class="k">this</span><span class="o">.</span><span
class="na">answer</span> <span class="o">=</span> <span
class="n">answer</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
-
-
</code></pre></div></div>
<h2 id="step-3">Step 3</h2>
-<p>Create the validators. The <code
class="highlighter-rouge">validation.xml</code> format is either <code
class="highlighter-rouge"><ActionClassName>-validation.xml</code> or
<code
class="highlighter-rouge"><ActionClassName>-<ActionAliasName>-validation.xml</code>.</p>
+<p>Create the validators. The <code
class="highlighter-rouge">validation.xml</code> format is either <code
class="highlighter-rouge"><ActionClassName>-validation.xml</code>
+or <code
class="highlighter-rouge"><ActionClassName>-<ActionAliasName>-validation.xml</code>.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="c"><!--
Add the following DOCTYPE declaration as first line of your
XXX-validation.xml file:
@@ -236,8 +239,6 @@
<span class="nt"></field-validator></span>
<span class="nt"></field></span>
<span class="nt"></validators></span>
-
-
</code></pre></div></div>
<h2 id="step-4">Step 4</h2>
@@ -252,7 +253,7 @@
</code></pre></div></div>
-<p>If you don’t have this, you’ll get a: “No result defined for action
xxx.xxx.tutorial.HellowWorld and result input” error</p>
+<p>If you don’t have this, you’ll get a: “No result defined for action
xxx.xxx.tutorial.HellowWorld and result input” error.</p>
</section>
</article>
diff --git a/output/core-developers/client-side-validation.html
b/output/core-developers/client-side-validation.html
index e47c888..93c4312 100644
--- a/output/core-developers/client-side-validation.html
+++ b/output/core-developers/client-side-validation.html
@@ -129,31 +129,41 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/client-side-validation.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="client-side-validation">Client Side Validation</h1>
+ <h1 class="no_toc" id="client-side-validation">Client Side Validation</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#basics" id="markdown-toc-basics">Basics</a></li>
+ <li><a href="#referencing-submitprofile-in-the-user-namespace"
id="markdown-toc-referencing-submitprofile-in-the-user-namespace">Referencing
“submitProfile” in the “/user” namespace</a></li>
+ <li><a href="#wont-work-with-client-side-validation"
id="markdown-toc-wont-work-with-client-side-validation">Won’t work with
client-side validation!</a></li>
+ <li><a href="#the-left-hand-doesnt-know-"
id="markdown-toc-the-left-hand-doesnt-know-">The left hand doesn’t know
…</a></li>
+ <li><a href="#client-side-validation-types"
id="markdown-toc-client-side-validation-types">Client Side Validation
Types</a></li>
+</ul>
+
+<h2 id="basics">Basics</h2>
<p>The framework adds support for client-side validation on top of the
standard validation framework.</p>
-<p>Client-side validation can be enabled on a per-form basis by specifying
<code class="highlighter-rouge">validate="true"</code> in the <em>form</em>
tag.</p>
+<p>Client-side validation can be enabled on a per-form basis by specifying
<code class="highlighter-rouge">validate="true"</code> in the <em>form</em>
tag.</p>
<pre><code class="language-jsp"><s:form name="test"
action="javascriptValidation" validate="true">
...
</s:form>
-
</code></pre>
-<p>If a <code class="highlighter-rouge">name</code> for the form is not given,
the action mapping name will be used as the form name. Otherwise, a correct
<code class="highlighter-rouge">action</code> and <code
class="highlighter-rouge">namespace</code> attributes must be provided to the
<code class="highlighter-rouge"><saf:form></code> tag.</p>
+<p>If a <code class="highlighter-rouge">name</code> for the form is not given,
the action mapping name will be used as the form name. Otherwise, a correct
+<code class="highlighter-rouge">action</code> and <code
class="highlighter-rouge">namespace</code> attributes must be provided to the
<code class="highlighter-rouge"><saf:form></code> tag.</p>
-<p><strong>Referencing “submitProfile” in the “/user” namespace</strong></p>
+<h2 id="referencing-submitprofile-in-the-user-namespace">Referencing
“submitProfile” in the “/user” namespace</h2>
<pre><code class="language-jsp"><s:form namespace="/user"
action="submitProfile" validate="true">
...
</s:form>
-
</code></pre>
-<p>Technically, the form’s action attribute can refer to a “path” that
includes the namespace and action as a URI. But, client-side validation
<strong>requires</strong> that the action name and namespeact to be set
separately.</p>
+<p>Technically, the form’s action attribute can refer to a “path” that
includes the namespace and action as a URI.
+But, client-side validation <strong>requires</strong> that the action name and
namespeact to be set separately.</p>
-<p><strong>Won’t work with client-side validation!</strong></p>
+<h2 id="wont-work-with-client-side-validation">Won’t work with client-side
validation!</h2>
<pre><code class="language-jsp"><s:form action="/user/submitProfile.action"
validate="true">
...
@@ -161,24 +171,16 @@
</code></pre>
-<p>All the usual <a href="#PAGE_14292">validation configuration</a> steps
apply to client-side validation. Client-side validation uses the same
validation rules as server-side validation. If server-side validation doesn’t
work, then client-side validation won’t work either.</p>
-
-<p><strong>(i) The left hand doesn’t know ...</strong></p>
-
-<blockquote>
-
-</blockquote>
-
-<blockquote>
-
-</blockquote>
+<p>All the usual <a href="validation">validation configuration</a> steps apply
to client-side validation. Client-side validation
+uses the same validation rules as server-side validation. If server-side
validation doesn’t work, then client-side
+validation won’t work either.</p>
-<blockquote>
- <p>The required attribute on many <em>Struts Tags</em> is not integrated
with client-side validation! The tag attribute is used by certain themes (like
xhtml) to put a visual marker (usually ‘*’) next to the field. The tag doesn’t
know if the validation system actually “requires” the field or not.</p>
-</blockquote>
+<h2 id="the-left-hand-doesnt-know-">The left hand doesn’t know …</h2>
<blockquote>
-
+ <p>The required attribute on many <em>Struts Tags</em> is not integrated
with client-side validation! The tag attribute is used
+by certain themes (like xhtml) to put a visual marker (usually ‘*’) next to
the field. The tag doesn’t know
+if the validation system actually “requires” the field or not.</p>
</blockquote>
<h2 id="client-side-validation-types">Client Side Validation Types</h2>
@@ -188,13 +190,13 @@
<table>
<thead>
<tr>
- <th><a href="pure-java-script-client-side-validation.html">Pure
JavaScript Client Side Validation</a></th>
- <th>Used by the <em>xhtml theme</em> and <em>css_xhtml theme</em></th>
+ <th><a href="pure-java-script-client-side-validation">Pure JavaScript
Client Side Validation</a></th>
+ <th>Used by the <em>xhtml theme</em> and <em>css_xhtml theme</em></th>
</tr>
</thead>
<tbody>
<tr>
- <td><a href="ajax-client-side-validation.html">AJAX Client Side
Validation</a></td>
+ <td><a href="ajax-client-side-validation">AJAX Client Side
Validation</a></td>
<td>Used by the <em>ajax theme</em></td>
</tr>
</tbody>
diff --git a/output/core-developers/conditionalvisitor-validator.html
b/output/core-developers/conditionalvisitor-validator.html
index 6b556b8..1fe56a2 100644
--- a/output/core-developers/conditionalvisitor-validator.html
+++ b/output/core-developers/conditionalvisitor-validator.html
@@ -129,11 +129,18 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/conditionalvisitor-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="conditionalvisitor-validator">conditionalvisitor validator</h1>
+ <h1 class="no_toc" id="conditionalvisitor-validator">conditionalvisitor
validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
-<p>The ConditionalVisitorFieldValidator will forward validation to the
VisitorFieldValidator only if the expression will evaluate to true.</p>
+<p>The ConditionalVisitorFieldValidator will forward validation to the
VisitorFieldValidator only if the expression
+will evaluate to true.</p>
<h2 id="parameters">Parameters</h2>
@@ -143,12 +150,12 @@
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><field name="colleaguePosition">
- <field-validator type="conditionalvisitor">
- <param name="expression">reason == 'colleague' and
colleaguePositionID == 'OTHER'</param>
- <message>You must select reason Colleague and position
Other</message>
- </field-validator>
-</field>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><field</span> <span
class="na">name=</span><span class="s">"colleaguePosition"</span><span
class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"conditionalvisitor"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"expression"</span><span class="nt">></span>reason == 'colleague'
and colleaguePositionID == 'OTHER'<span class="nt"></param></span>
+ <span class="nt"><message></span>You must select reason
Colleague and position Other<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+<span class="nt"></field></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/conversion-validator.html
b/output/core-developers/conversion-validator.html
index b2b6df8..b708bd3 100644
--- a/output/core-developers/conversion-validator.html
+++ b/output/core-developers/conversion-validator.html
@@ -129,7 +129,14 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/conversion-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="conversion-validator">conversion validator</h1>
+ <h1 class="no_toc" id="conversion-validator">conversion validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+ <li><a href="#repopulating-field-upon-conversion-error"
id="markdown-toc-repopulating-field-upon-conversion-error">Repopulating Field
upon conversion Error</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -143,73 +150,81 @@
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><!-- Plain Validator Syntax -->
-<validator type="conversion">
- <param name="fieldName">myField</param>
- <message>Conversion Error Occurred</message>
-</validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="c"><!-- Plain Validator Syntax
--></span>
+<span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"conversion"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>myField<span
class="nt"></param></span>
+ <span class="nt"><message></span>Conversion Error Occurred<span
class="nt"></message></span>
+<span class="nt"></validator></span>
-<!-- Field Validator Syntax -->
-<field name="myField">
- <field-validator type="conversion">
- <message>Conversion Error Occurred</message>
- </field-validator>
-</field>
+<span class="c"><!-- Field Validator Syntax --></span>
+<span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myField"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"conversion"</span><span
class="nt">></span>
+ <span class="nt"><message></span>Conversion Error Occurred<span
class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+<span class="nt"></field></span>
</code></pre></div></div>
<h2 id="repopulating-field-upon-conversion-error">Repopulating Field upon
conversion Error</h2>
-<p>The capability of auto-repopulating the stack with a fake parameter map
when a conversion error has occurred can be done with <code
class="highlighter-rouge">repopulateField</code> property set to <code
class="highlighter-rouge">true</code>.</p>
+<blockquote>
+ <p>The capability of auto-repopulating the stack with a fake parameter map
when a conversion error has occurred can be
+done with <code class="highlighter-rouge">repopulateField</code> property set
to <code class="highlighter-rouge">true</code>.</p>
+</blockquote>
-<p>This is typically useful when one wants to repopulate the field with the
original value when a conversion error occurred. Eg. with a textfield that only
allows an Integer (the action class have an Integer field declared), upon
conversion error, the incorrectly entered integer (maybe a text ‘one’) will not
appear when dispatched back. With <code
class="highlighter-rouge">repopulateField</code> property set to true, it will,
meaning the textfield will have ‘one’ as its value upon conver [...]
+<p>This is typically useful when one wants to repopulate the field with the
original value when a conversion error occurred.
+Eg. with a textfield that only allows an Integer (the action class have an
Integer field declared), upon conversion error,
+the incorrectly entered integer (maybe a text ‘one’) will not appear when
dispatched back. With <code class="highlighter-rouge">repopulateField</code>
+property set to true, it will, meaning the textfield will have ‘one’ as its
value upon conversion error.</p>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><!-- myJspPage.jsp -->
-<s:form action="someAction" method="POST">
+<div class="language-html highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="c"><!-- myJspPage.jsp --></span>
+<span class="nt"><s:form</span> <span class="na">action=</span><span
class="s">"someAction"</span> <span class="na">method=</span><span
class="s">"POST"</span><span class="nt">></span>
....
- <s:textfield label="My Integer Field" name="myIntegerField" />
+ <span class="nt"><s:textfield</span> <span class="na">label=</span><span
class="s">"My Integer Field"</span> <span class="na">name=</span><span
class="s">"myIntegerField"</span> <span class="nt">/></span>
....
- <s:submit />
-</s:form>
+ <span class="nt"><s:submit</span> <span class="nt">/></span>
+<span class="nt"></s:form></span>
</code></pre></div></div>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><!-- xwork.xml -->
-<xwork>
-<include file="xwork-default.xml" />
+<pre><code class="language-xmls"><struts>
....
-<package name="myPackage" extends="xwork-default">
- ....
- <action name="someAction" class="example.MyActionSupport.java">
- <result name="input">myJspPage.jsp</result>
- <result>success.jsp</result>
- </action>
- ....
-</package>
+ <package name="myPackage" extends="struts-default">
+ ....
+ <action name="someAction" class="example.MyActionSupport.java">
+ <result name="input">myJspPage.jsp</result>
+ <result>success.jsp</result>
+ </action>
+ ....
+ </package>
....
-</xwork>
-</code></pre></div></div>
+</struts>
+</code></pre>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><!-- MyActionSupport.java -->
-public class MyActionSupport extends ActionSupport {
- private Integer myIntegerField;
-
- public Integer getMyIntegerField() { return this.myIntegerField; }
- public void setMyIntegerField(Integer myIntegerField) {
- this.myIntegerField = myIntegerField;
- }
-}
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="cm">/** MyActionSupport.java **/</span>
+<span class="kd">public</span> <span class="kd">class</span> <span
class="nc">MyActionSupport</span> <span class="kd">extends</span> <span
class="n">ActionSupport</span> <span class="o">{</span>
+
+ <span class="kd">private</span> <span class="n">Integer</span> <span
class="n">myIntegerField</span><span class="o">;</span>
+
+ <span class="kd">public</span> <span class="n">Integer</span> <span
class="nf">getMyIntegerField</span><span class="o">()</span> <span
class="o">{</span>
+ <span class="k">return</span> <span class="k">this</span><span
class="o">.</span><span class="na">myIntegerField</span><span
class="o">;</span>
+ <span class="o">}</span>
+
+ <span class="kd">public</span> <span class="kt">void</span> <span
class="nf">setMyIntegerField</span><span class="o">(</span><span
class="n">Integer</span> <span class="n">myIntegerField</span><span
class="o">)</span> <span class="o">{</span>
+ <span class="k">this</span><span class="o">.</span><span
class="na">myIntegerField</span> <span class="o">=</span> <span
class="n">myIntegerField</span><span class="o">;</span>
+ <span class="o">}</span>
+<span class="o">}</span>
</code></pre></div></div>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><!-- MyActionSupport-someAction-validation.xml -->
-<validators>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="c"><!--
MyActionSupport-someAction-validation.xml --></span>
+<span class="nt"><validators></span>
...
- <field name="myIntegerField">
- <field-validator type="conversion">
- <param name="repopulateField">true</param>
- <message>Conversion Error (Integer Wanted)</message>
- </field-validator>
- </field>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myIntegerField"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"conversion"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"repopulateField"</span><span class="nt">></span>true<span
class="nt"></param></span>
+ <span class="nt"><message></span>Conversion Error (Integer
Wanted)<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
...
-</validators>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/date-validator.html
b/output/core-developers/date-validator.html
index 115705b..64ac2dc 100644
--- a/output/core-developers/date-validator.html
+++ b/output/core-developers/date-validator.html
@@ -129,13 +129,22 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/date-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="date-validator">date validator</h1>
+ <h1 class="no_toc" id="date-validator">date validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
<p>Field Validator that checks if the date supplied is within a specific
range.</p>
-<p><strong>NOTE:</strong> If no date converter is specified, <code
class="highlighter-rouge">XWorkBasicConverter</code> will kick in to do the
date conversion, which by default using the <code
class="highlighter-rouge">Date.SHORT</code> format using the specified locale
else falling back to the system default locale.</p>
+<blockquote>
+ <p>NOTE: If no date converter is specified, <code
class="highlighter-rouge">XWorkBasicConverter</code> will kick in to do the
date conversion, which
+by default using the <code class="highlighter-rouge">Date.SHORT</code> format
using the specified locale else falling back to the system default locale.</p>
+</blockquote>
<h2 id="parameters">Parameters</h2>
@@ -148,42 +157,42 @@
<li><code class="highlighter-rouge">maxExpression</code> - expression to
calculate the maximum value (if none is specified, it will not be checked).</li>
</ul>
-<p>You can either use the <code class="highlighter-rouge">min</code> / <code
class="highlighter-rouge">max</code> value or <code
class="highlighter-rouge">minExpression</code> / <code
class="highlighter-rouge">maxExpression</code> (when <code
class="highlighter-rouge">parse</code> is set to <code
class="highlighter-rouge">true</code>) - using expression can be slightly
slower, see the example below.</p>
+<p>You can either use the <code class="highlighter-rouge">min</code> / <code
class="highlighter-rouge">max</code> value or <code
class="highlighter-rouge">minExpression</code> / <code
class="highlighter-rouge">maxExpression</code> (when <code
class="highlighter-rouge">parse</code> is set to <code
class="highlighter-rouge">true</code>) -
+using expression can be slightly slower, see the example below.</p>
<blockquote>
- <p>Warning
-Do not use <code class="highlighter-rouge">${minExpression}</code> and <code
class="highlighter-rouge">${maxExpression}</code> as an expression as this will
turn into infinitive loop!</p>
+ <p>Warning: Do not use <code
class="highlighter-rouge">${minExpression}</code> and <code
class="highlighter-rouge">${maxExpression}</code> as an expression as this will
turn into infinitive loop!</p>
</blockquote>
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator syntax -->
- <validator type="date">
- <param name="fieldName">birthday</param>
- <param name="min">01/01/1990</param>
- <param name="max">01/01/2000</param>
- <message>Birthday must be within ${min} and
${max}</message>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"date"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>birthday<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"min"</span><span class="nt">></span>01/01/1990<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"max"</span><span class="nt">></span>01/01/2000<span
class="nt"></param></span>
+ <span class="nt"><message></span>Birthday must be within ${min}
and ${max}<span class="nt"></message></span>
+ <span class="nt"></validator></span>
- <!-- Field Validator Syntax -->
- <field name="birthday">
- <field-validator type="date">
- <param name="min">01/01/1990</param>
- <param name="max">01/01/2000</param>
- <message>Birthday must be within ${min} and
${max}</message>
- </field-validator>
- </field>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"birthday"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"date"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"min"</span><span
class="nt">></span>01/01/1990<span class="nt"></param></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"max"</span><span
class="nt">></span>01/01/2000<span class="nt"></param></span>
+ <span class="nt"><message></span>Birthday must be within
${min} and ${max}<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
- <!-- Field Validator Syntax with expression -->
- <field name="birthday">
- <field-validator type="date">
- <param name="minExpression">${minValue}</param>
<!-- will be evaluated as: Date getMinValue() -->
- <param name="maxExpression">${maxValue}</param>
<!-- will be evaluated as: Date getMaxValue() -->
- <message>Age needs to be between ${min} and
${max}</message>
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field Validator Syntax with expression
--></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"birthday"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"date"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"minExpression"</span><span
class="nt">></span>${minValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: Date getMinValue() --></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"maxExpression"</span><span
class="nt">></span>${maxValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: Date getMaxValue() --></span>
+ <span class="nt"><message></span>Age needs to be between
${min} and ${max}<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/double-validator.html
b/output/core-developers/double-validator.html
index 0eea904..6e319c9 100644
--- a/output/core-developers/double-validator.html
+++ b/output/core-developers/double-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/double-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="double-validator">double validator</h1>
+ <h1 class="no_toc" id="double-validator">double validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -149,42 +155,44 @@
<li><code class="highlighter-rouge">maxExclusiveExpression</code> - the
maximum exclusive value specified as a OGNL expression (if none is specified,
it will not be checked).</li>
</ul>
-<p>You can specify either <code class="highlighter-rouge">minInclusive</code>,
<code class="highlighter-rouge">maxInclusive</code>, <code
class="highlighter-rouge">minExclusive</code> and <code
class="highlighter-rouge">maxExclusive</code> or <code
class="highlighter-rouge">minInclusiveExpression</code>, <code
class="highlighter-rouge">maxInclusiveExpression</code>, <code
class="highlighter-rouge">minExclusiveExpression</code> and <code
class="highlighter-rouge">maxExclusiveExpression</c [...]
+<p>You can specify either <code class="highlighter-rouge">minInclusive</code>,
<code class="highlighter-rouge">maxInclusive</code>, <code
class="highlighter-rouge">minExclusive</code> and <code
class="highlighter-rouge">maxExclusive</code> or <code
class="highlighter-rouge">minInclusiveExpression</code>,
+<code class="highlighter-rouge">maxInclusiveExpression</code>, <code
class="highlighter-rouge">minExclusiveExpression</code> and <code
class="highlighter-rouge">maxExclusiveExpression</code> as a OGNL expression,
see example below.
+You can always try to mix params but be aware that such behaviour was not
tested.</p>
<blockquote>
- <p>Warning
-Do not use <code class="highlighter-rouge">${minInclusiveExpression}</code>,
<code class="highlighter-rouge">${maxInclusiveExpression}</code>, <code
class="highlighter-rouge">${minExclusiveExpressionExpression}</code> and <code
class="highlighter-rouge">${maxExclusive}</code> as an expression as this will
turn into infinitive loop!</p>
+ <p>Warning: do not use <code
class="highlighter-rouge">${minInclusiveExpression}</code>, <code
class="highlighter-rouge">${maxInclusiveExpression}</code>, <code
class="highlighter-rouge">${minExclusiveExpressionExpression}</code>
+and <code class="highlighter-rouge">${maxExclusive}</code> as an expression as
this will turn into infinitive loop!</p>
</blockquote>
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator Syntax -->
- <validator type="double">
- <param name="fieldName">percentage</param>
- <param name="minInclusive">20.1</param>
- <param name="maxInclusive">50.1</param>
- <message>Age needs to be between ${minInclusive} and
${maxInclusive} (inclusive)</message>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"double"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>percentage<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"minInclusive"</span><span class="nt">></span>20.1<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"maxInclusive"</span><span class="nt">></span>50.1<span
class="nt"></param></span>
+ <span class="nt"><message></span>Age needs to be between
${minInclusive} and ${maxInclusive} (inclusive)<span
class="nt"></message></span>
+ <span class="nt"></validator></span>
- <!-- Field Validator Syntax -->
- <field name="percentage">
- <field-validator type="double">
- <param name="minExclusive">0.123</param>
- <param name="maxExclusive">99.98</param>
- <message>Percentage needs to be between ${minExclusive} and
${maxExclusive} (exclusive)</message>
- </field-validator>
- </field>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"percentage"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"double"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"minExclusive"</span><span
class="nt">></span>0.123<span class="nt"></param></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"maxExclusive"</span><span
class="nt">></span>99.98<span class="nt"></param></span>
+ <span class="nt"><message></span>Percentage needs to be
between ${minExclusive} and ${maxExclusive} (exclusive)<span
class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
- <!-- Field Validator Syntax with expression -->
- <field name="percentage">
- <field-validator type="double">
- <param
name="minExclusiveExpression">${minExclusiveValue}</param> <!--
will be evaluated as: Double getMinExclusiveValue() -->
- <param
name="maxExclusiveExpression">${maxExclusiveValue}</param> <!--
will be evaluated as: Double getMaxExclusiveValue() -->
- <message>Percentage needs to be between ${minExclusive} and
${maxExclusive} (exclusive)</message>
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field Validator Syntax with expression
--></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"percentage"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"double"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"minExclusiveExpression"</span><span
class="nt">></span>${minExclusiveValue}<span
class="nt"></param></span> <span class="c"><!-- will be evaluated as:
Double getMinExclusiveValue() --></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"maxExclusiveExpression"</span><span
class="nt">></span>${maxExclusiveValue}<span
class="nt"></param></span> <span class="c"><!-- will be evaluated as:
Double getMaxExclusiveValue() --></span>
+ <span class="nt"><message></span>Percentage needs to be
between ${minExclusive} and ${maxExclusive} (exclusive)<span
class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/email-validator.html
b/output/core-developers/email-validator.html
index b3b8940..742f262 100644
--- a/output/core-developers/email-validator.html
+++ b/output/core-developers/email-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/email-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="email-validator">email validator</h1>
+ <h1 class="no_toc" id="email-validator">email validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -137,9 +143,13 @@
<p>The regular expression used to validate that the string is an email address
is:</p>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>\\b^['_a-z0-9-\\+](\\.['_a-z0-9-\\+])@[a-z0-9-](\\.[a-z0-9-])\\.([a-z]{2,6})$\\b
+<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>\\b^['_a-z0-9-\\+]+(\\.['_a-z0-9-\\+]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,6})$\\b
</code></pre></div></div>
+<blockquote>
+ <p>This Regex can change, please always check in the <a
href="https://github.com/apache/struts/blob/master/core/src/main/java/com/opensymphony/xwork2/validator/validators/EmailValidator.java#L83">source
code</a></p>
+</blockquote>
+
<p>You can also specify <code class="highlighter-rouge">expression</code>,
<code class="highlighter-rouge">caseSensitive</code> and <code
class="highlighter-rouge">trim</code> params as a OGNL expression, see the
example below.</p>
<h2 id="parameters">Parameters</h2>
@@ -151,38 +161,38 @@
<p>Check also documentation of the <code
class="highlighter-rouge">RegexpValidator</code> for more details - the
EmailValidator is based on it.</p>
<blockquote>
- <p>Warning
-Do not use <code class="highlighter-rouge">${regexExpression}</code>, <code
class="highlighter-rouge">${caseSensitiveExpression}</code> and <code
class="highlighter-rouge">${trimExpression}</code> as an expression as this
will turn into infinitive loop!</p>
+ <p>Warning: do not use <code
class="highlighter-rouge">${regexExpression}</code>, <code
class="highlighter-rouge">${caseSensitiveExpression}</code> and <code
class="highlighter-rouge">${trimExpression}</code> as an expression
+as this will turn into infinitive loop!</p>
</blockquote>
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><!-- Plain Validator Syntax -->
-<validators>
- <validator type="email">
- <param name="fieldName">myEmail</param>
- <message>Must provide a valid email</message>
- </validator>
-</validators>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="c"><!-- Plain Validator Syntax
--></span>
+<span class="nt"><validators></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"email"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>myEmail<span
class="nt"></param></span>
+ <span class="nt"><message></span>Must provide a valid email<span
class="nt"></message></span>
+ <span class="nt"></validator></span>
+<span class="nt"></validators></span>
-<!-- Field Validator Syntax -->
-<field name="myEmail">
- <field-validator type="email">
- <message>Must provide a valid email</message>
- </field-validator>
-</field>
+<span class="c"><!-- Field Validator Syntax --></span>
+<span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myEmail"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"email"</span><span
class="nt">></span>
+ <span class="nt"><message></span>Must provide a valid email<span
class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+<span class="nt"></field></span>
-<!-- Field Validator Syntax with expressions -->
-<!-- Only available when used with xml based configuration, if you want to
have the same
- flexibility with annotations use @RegexFieldValidator instead -->
-<field name="myEmail">
- <field-validator type="email">
- <param name="regexExpression">${emailPattern}</param>
<!-- will be evaluated as: String getEmailPattern() -->
- <param
name="caseSensitiveExpression">${emailCaseSensitive}</param> <!--
will be evaluated as: boolean getEmailCaseSensitive() -->
- <param name="trimExpression">${trimEmail}</param> <!--
will be evaluated as: boolean getTrimEmail() -->
- <message>Must provide a valid email</message>
- </field-validator>
-</field>
+<span class="c"><!-- Field Validator Syntax with expressions --></span>
+<span class="c"><!-- Only available when used with xml based configuration,
if you want to have the same
+ flexibility with annotations use @RegexFieldValidator instead
--></span>
+<span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myEmail"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"email"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"regexExpression"</span><span
class="nt">></span>${emailPattern}<span class="nt"></param></span>
<span class="c"><!-- will be evaluated as: String getEmailPattern()
--></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"caseSensitiveExpression"</span><span
class="nt">></span>${emailCaseSensitive}<span
class="nt"></param></span> <span class="c"><!-- will be evaluated as:
boolean getEmailCaseSensitive() --></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"trimExpression"</span><span class="nt">></span>${trimEmail}<span
class="nt"></param></span> <span class="c"><!-- will be evaluated as:
boolean getTrimEmail() --></span>
+ <span class="nt"><message></span>Must provide a valid email<span
class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+<span class="nt"></field></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/expression-validator.html
b/output/core-developers/expression-validator.html
index ae4523c..e2e2ed1 100644
--- a/output/core-developers/expression-validator.html
+++ b/output/core-developers/expression-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/expression-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="expression-validator">expression validator</h1>
+ <h1 class="no_toc" id="expression-validator">expression validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -143,12 +149,12 @@
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <validator type="expression">
- <param name="expression"> .... </param>
- <message>Failed to meet Ognl Expression .... </message>
- </validator>
-</validators>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"expression"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"expression"</span><span class="nt">></span> .... <span
class="nt"></param></span>
+ <span class="nt"><message></span>Failed to meet Ognl Expression
.... <span class="nt"></message></span>
+ <span class="nt"></validator></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/fieldexpression-validator.html
b/output/core-developers/fieldexpression-validator.html
index efb6619..3f77991 100644
--- a/output/core-developers/fieldexpression-validator.html
+++ b/output/core-developers/fieldexpression-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/fieldexpression-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="fieldexpression-validator">fieldexpression validator</h1>
+ <h1 class="no_toc" id="fieldexpression-validator">fieldexpression
validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -144,23 +150,23 @@
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><!-- Plain Validator Syntax -->
-<validators>
- <!-- Plain Validator Syntax -->
- <validator type="fieldexpression">
- <param name="fieldName">myField</param>
- <param name="expression"><![CDATA[#myCreditLimit >
#myGirfriendCreditLimit]]></param>
- <message>My credit limit should be MORE than my
girlfriend</message>
- <validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="c"><!-- Plain Validator Syntax
--></span>
+<span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"fieldexpression"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>myField<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"expression"</span><span class="nt">></span><span
class="cp"><![CDATA[#myCreditLimit >
#myGirfriendCreditLimit]]></span><span class="nt"></param></span>
+ <span class="nt"><message></span>My credit limit should be MORE
than my girlfriend<span class="nt"></message></span>
+ <span class="nt"><validator></span>
- <!-- Field Validator Syntax -->
- <field name="myField">
- <field-validator type="fieldexpression">
- <param name="expression"><![CDATA[#myCreditLimit >
#myGirfriendCreditLimit]]></param>
- <message>My credit limit should be MORE than my
girlfriend</message>
- </field-validator>
- </field>
-</vaidators>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myField"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"fieldexpression"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"expression"</span><span
class="nt">></span><span class="cp"><![CDATA[#myCreditLimit >
#myGirfriendCreditLimit]]></span><span class="nt"></param></span>
+ <span class="nt"><message></span>My credit limit should be
MORE than my girlfriend<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/int-validator.html
b/output/core-developers/int-validator.html
index aa3b230..cbd7b5b 100644
--- a/output/core-developers/int-validator.html
+++ b/output/core-developers/int-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/int-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="int-validator">int validator</h1>
+ <h1 class="no_toc" id="int-validator">int validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -146,42 +152,42 @@
<li><code class="highlighter-rouge">maxExpression</code> - expression to
calculate the maximum value (if none is specified, it will not be checked)</li>
</ul>
-<p>You can either use the <code class="highlighter-rouge">min</code> / <code
class="highlighter-rouge">max</code> value or <code
class="highlighter-rouge">minExpression</code> / <code
class="highlighter-rouge">maxExpression</code> (when <code
class="highlighter-rouge">parse</code> is set to <code
class="highlighter-rouge">true</code>) - using expression can be slightly
slower, see the example below.</p>
+<p>You can either use the <code class="highlighter-rouge">min</code> / <code
class="highlighter-rouge">max</code> value or <code
class="highlighter-rouge">minExpression</code> / <code
class="highlighter-rouge">maxExpression</code> (when <code
class="highlighter-rouge">parse</code> is set to <code
class="highlighter-rouge">true</code>) - using
+expression can be slightly slower, see the example below.</p>
<blockquote>
- <p>Warning
-Do not use <code class="highlighter-rouge">${minExpression}</code> and <code
class="highlighter-rouge">${maxExpression}</code> as an expression as this will
turn into infinitive loop!</p>
+ <p>Warning: do not use <code
class="highlighter-rouge">${minExpression}</code> and <code
class="highlighter-rouge">${maxExpression}</code> as an expression as this will
turn into infinitive loop!</p>
</blockquote>
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator Syntax -->
- <validator type="int">
- <param name="fieldName">age</param>
- <param name="min">20</param>
- <param name="max">50</param>
- <message>Age needs to be between ${min} and
${max}</message>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"int"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>age<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"min"</span><span class="nt">></span>20<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"max"</span><span class="nt">></span>50<span
class="nt"></param></span>
+ <span class="nt"><message></span>Age needs to be between ${min}
and ${max}<span class="nt"></message></span>
+ <span class="nt"></validator></span>
- <!-- Field Validator Syntax -->
- <field name="age">
- <field-validator type="int">
- <param name="min">20</param>
- <param name="max">50</param>
- <message>Age needs to be between ${min} and
${max}</message>
- </field-validator>
- </field>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"age"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"int"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"min"</span><span
class="nt">></span>20<span class="nt"></param></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"max"</span><span
class="nt">></span>50<span class="nt"></param></span>
+ <span class="nt"><message></span>Age needs to be between
${min} and ${max}<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
- <!-- Field Validator Syntax with expression -->
- <field name="age">
- <field-validator type="int">
- <param name="minExpression">${minValue}</param>
<!-- will be evaluated as: Integer getMinValue() -->
- <param name="maxExpression">${maxValue}</param>
<!-- will be evaluated as: Integer getMaxValue() -->
- <message>Age needs to be between ${min} and
${max}</message>
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field Validator Syntax with expression
--></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"age"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"int"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"minExpression"</span><span
class="nt">></span>${minValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: Integer getMinValue() --></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"maxExpression"</span><span
class="nt">></span>${maxValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: Integer getMaxValue() --></span>
+ <span class="nt"><message></span>Age needs to be between
${min} and ${max}<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/namespace-annotation.html
b/output/core-developers/namespace-annotation.html
index 31aa14d..9a16f73 100644
--- a/output/core-developers/namespace-annotation.html
+++ b/output/core-developers/namespace-annotation.html
@@ -133,7 +133,8 @@
<h2 id="namespace-annotation-1">Namespace Annotation</h2>
-<p>The <code class="highlighter-rouge">@Namespace</code> annotation allows the
definition of an Action’s namespace in the <code
class="highlighter-rouge">Action</code> class rather than based on <a
href="zero-configuration.html">Zero Configuration</a>’s conventions.</p>
+<p>The <code class="highlighter-rouge">@Namespace</code> annotation allows the
definition of an Action’s namespace in the <code
class="highlighter-rouge">Action</code> class rather than based
+on <a href="../plugins/convention/">Convention Plugin</a>’s conventions.</p>
<h3 id="usage">Usage</h3>
diff --git a/output/core-developers/regex-validator.html
b/output/core-developers/regex-validator.html
index ca285c6..a3a7d6b 100644
--- a/output/core-developers/regex-validator.html
+++ b/output/core-developers/regex-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/regex-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="regex-validator">regex validator</h1>
+ <h1 class="no_toc" id="regex-validator">regex validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -150,35 +156,35 @@
<p>You can mix normal params with expression aware params but thus was not
tested.</p>
<blockquote>
- <p>Warning
-Do not use <code class="highlighter-rouge">${regexExpression}</code>, <code
class="highlighter-rouge">${caseSensitiveExpression}</code> and <code
class="highlighter-rouge">${trimExpression}</code> as an expression as this
will turn into infinitive loop!</p>
+ <p>Warning: do not use <code
class="highlighter-rouge">${regexExpression}</code>, <code
class="highlighter-rouge">${caseSensitiveExpression}</code> and <code
class="highlighter-rouge">${trimExpression}</code> as an expression
+as this will turn into infinitive loop!</p>
</blockquote>
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator Syntax -->
- <validator type="regex">
- <param name="fieldName">myStrangePostcode</param>
- <param
name="regex"><![CDATA[([aAbBcCdD][123][eEfFgG][456])]]></param>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"regex"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>myStrangePostcode<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"regex"</span><span class="nt">></span><span
class="cp"><![CDATA[([aAbBcCdD][123][eEfFgG][456])]]></span><span
class="nt"></param></span>
+ <span class="nt"></validator></span>
- <!-- Field Validator Syntax -->
- <field name="myStrangePostcode">
- <field-validator type="regex">
- <param
name="regex"><![CDATA[([aAbBcCdD][123][eEfFgG][456])]]></param>
- </field-validator>
- </field>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myStrangePostcode"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"regex"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"regex"</span><span
class="nt">></span><span
class="cp"><![CDATA[([aAbBcCdD][123][eEfFgG][456])]]></span><span
class="nt"></param></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
- <!-- Field Validator Syntax with expressions -->
- <field name="myStrangePostcode">
- <field-validator type="regex">
- <param name="regexExpression">${regexValue}</param>
<!-- will be evaluated as: String getRegexValue() -->
- <param
name="caseSensitiveExpression">${caseSensitiveValue}</param> <!--
will be evaluated as: boolean getCaseSensitiveValue() -->
- <param name="trimExpression">${trimValue}</param>
<!-- will be evaluated as: boolean getTrimValue() -->
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field Validator Syntax with expressions
--></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myStrangePostcode"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"regex"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"regexExpression"</span><span
class="nt">></span>${regexValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: String getRegexValue() --></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"caseSensitiveExpression"</span><span
class="nt">></span>${caseSensitiveValue}<span
class="nt"></param></span> <span class="c"><!-- will be evaluated as:
boolean getCaseSensitiveValue() --></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"trimExpression"</span><span
class="nt">></span>${trimValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: boolean getTrimValue() --></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/required-validator.html
b/output/core-developers/required-validator.html
index 249007c..bddf05a 100644
--- a/output/core-developers/required-validator.html
+++ b/output/core-developers/required-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/required-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="required-validator">required validator</h1>
+ <h1 class="no_toc" id="required-validator">required validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -143,21 +149,21 @@
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator Syntax -->
- <validator type="required">
- <param name="fieldName">username</param>
- <message>username must not be null</message>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"required"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>username<span
class="nt"></param></span>
+ <span class="nt"><message></span>username must not be null<span
class="nt"></message></span>
+ <span class="nt"></validator></span>
- <!-- Field Validator Syntax -->
- <field name="username">
- <field-validator type="required">
- <message>username must not be null</message>
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"username"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"required"</span><span
class="nt">></span>
+ <span class="nt"><message></span>username must not be
null<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/requiredstring-validator.html
b/output/core-developers/requiredstring-validator.html
index 90112c9..38b2927 100644
--- a/output/core-developers/requiredstring-validator.html
+++ b/output/core-developers/requiredstring-validator.html
@@ -129,11 +129,18 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/requiredstring-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="requiredstring-validator">requiredstring validator</h1>
+ <h1 class="no_toc" id="requiredstring-validator">requiredstring
validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
-<p>RequiredStringValidator checks that a String field is non-null and has a
length > 0. (i.e. it isn’t “”). The <code
class="highlighter-rouge">trim</code> parameter determines whether it will
<code class="highlighter-rouge">String#trim()</code> the String before
performing the length check. If unspecified, the String will be trimmed.</p>
+<p>RequiredStringValidator checks that a String field is non-null and has a
length > 0. (i.e. it isn’t “”). The <code
class="highlighter-rouge">trim</code> parameter
+determines whether it will <code
class="highlighter-rouge">String#trim()</code> the String before performing the
length check. If unspecified, the String will be trimmed.</p>
<h2 id="parameters">Parameters</h2>
@@ -145,30 +152,30 @@
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain-Validator Syntax -->
- <validator type="requiredstring">
- <param name="fieldName">username</param>
- <param name="trim">true</param>
- <message>username is required</message>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain-Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"requiredstring"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>username<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"trim"</span><span class="nt">></span>true<span
class="nt"></param></span>
+ <span class="nt"><message></span>username is required<span
class="nt"></message></span>
+ <span class="nt"></validator></span>
- <!-- Field-Validator Syntax -->
- <field name="username">
- <field-validator type="requiredstring">
- <param name="trim">true</param>
- <message>username is required</message>
- </field-validator>
- </field>
+ <span class="c"><!-- Field-Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"username"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"requiredstring"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"trim"</span><span
class="nt">></span>true<span class="nt"></param></span>
+ <span class="nt"><message></span>username is required<span
class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
- <!-- Field-Validator Syntax with expression -->
- <field name="username">
- <field-validator type="requiredstring">
- <param name="trimExpression">${trimValue}</param>
<!-- will be evaluated as: boolean getTrimValue() -->
- <message>username is required</message>
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field-Validator Syntax with expression
--></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"username"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"requiredstring"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"trimExpression"</span><span
class="nt">></span>${trimValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: boolean getTrimValue() --></span>
+ <span class="nt"><message></span>username is required<span
class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/short-validator.html
b/output/core-developers/short-validator.html
index 6eee630..f269108 100644
--- a/output/core-developers/short-validator.html
+++ b/output/core-developers/short-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/short-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="short-validator">short validator</h1>
+ <h1 class="no_toc" id="short-validator">short validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -146,42 +152,42 @@
<li><code class="highlighter-rouge">maxExpression</code> - expression to
calculate the maximum value (if none is specified, it will not be checked).</li>
</ul>
-<p>You can either use the <code class="highlighter-rouge">min</code> / <code
class="highlighter-rouge">max</code> value or <code
class="highlighter-rouge">minExpression</code> / <code
class="highlighter-rouge">maxExpression</code> (when <code
class="highlighter-rouge">parse</code> is set to <code
class="highlighter-rouge">true</code>) - using expression can be slightly
slower, see the example below.</p>
+<p>You can either use the <code class="highlighter-rouge">min</code> / <code
class="highlighter-rouge">max</code> value or <code
class="highlighter-rouge">minExpression</code> / <code
class="highlighter-rouge">maxExpression</code> (when <code
class="highlighter-rouge">parse</code> is set to <code
class="highlighter-rouge">true</code>) - using
+expression can be slightly slower, see the example below.</p>
<blockquote>
- <p>Warning
-Do not use <code class="highlighter-rouge">${minExpression}</code> and <code
class="highlighter-rouge">${maxExpression}</code> as an expression as this will
turn into infinitive loop!</p>
+ <p>Warning: do not use <code
class="highlighter-rouge">${minExpression}</code> and <code
class="highlighter-rouge">${maxExpression}</code> as an expression as this will
turn into infinitive loop!</p>
</blockquote>
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator Syntax -->
- <validator type="short">
- <param name="fieldName">age</param>
- <param name="min">20</param>
- <param name="max">50</param>
- <message>Age needs to be between ${min} and
${max}</message>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"short"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>age<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"min"</span><span class="nt">></span>20<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"max"</span><span class="nt">></span>50<span
class="nt"></param></span>
+ <span class="nt"><message></span>Age needs to be between ${min}
and ${max}<span class="nt"></message></span>
+ <span class="nt"></validator></span>
- <!-- Field Validator Syntax -->
- <field name="age">
- <field-validator type="short">
- <param name="min">20</param>
- <param name="max">50</param>
- <message>Age needs to be between ${min} and
${max}</message>
- </field-validator>
- </field>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"age"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"short"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"min"</span><span
class="nt">></span>20<span class="nt"></param></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"max"</span><span
class="nt">></span>50<span class="nt"></param></span>
+ <span class="nt"><message></span>Age needs to be between
${min} and ${max}<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
- <!-- Field Validator Syntax with expression -->
- <field name="age">
- <field-validator type="short">
- <param name="minExpression">${minValue}</param>
<!-- will be evaluated as: Short getMinValue() -->
- <param name="maxExpression">${maxValue}</param>
<!-- will be evaluated as: Short getMaxValue() -->
- <message>Age needs to be between ${min} and
${max}</message>
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field Validator Syntax with expression
--></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"age"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"short"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"minExpression"</span><span
class="nt">></span>${minValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: Short getMinValue() --></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"maxExpression"</span><span
class="nt">></span>${maxValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: Short getMaxValue() --></span>
+ <span class="nt"><message></span>Age needs to be between
${min} and ${max}<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/stringlength-validator.html
b/output/core-developers/stringlength-validator.html
index a694a9c..48ac93c 100644
--- a/output/core-developers/stringlength-validator.html
+++ b/output/core-developers/stringlength-validator.html
@@ -129,11 +129,20 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/stringlength-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="stringlength-validator">stringlength validator</h1>
+ <h1 class="no_toc" id="stringlength-validator">stringlength validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
-<p>StringLengthFieldValidator checks that a String field is of a certain
length. If the <code class="highlighter-rouge">minLength</code> parameter is
specified, it will make sure that the String has at least that many characters.
If the <code class="highlighter-rouge">maxLength</code> parameter is specified,
it will make sure that the String has at most that many characters. The <code
class="highlighter-rouge">trim</code> parameter determines whether it will
<code class="highlighter-roug [...]
+<p>StringLengthFieldValidator checks that a String field is of a certain
length. If the <code class="highlighter-rouge">minLength</code> parameter is
specified,
+it will make sure that the String has at least that many characters. If the
<code class="highlighter-rouge">maxLength</code> parameter is specified, it
will
+make sure that the String has at most that many characters. The <code
class="highlighter-rouge">trim</code> parameter determines whether it will
<code class="highlighter-rouge">String#trim()</code>
+the String before performing the length check. If unspecified, the String will
be trimmed.</p>
<h2 id="parameters">Parameters</h2>
@@ -148,42 +157,42 @@
</ul>
<blockquote>
- <p>Warning
-Do not use <code class="highlighter-rouge">${minLengthExpression}</code>,
<code class="highlighter-rouge">${maxLengthExpression}</code> and <code
class="highlighter-rouge">${trimExpression}</code> as an expression as this
will turn into infinitive loop!</p>
+ <p>Warning: do not use <code
class="highlighter-rouge">${minLengthExpression}</code>, <code
class="highlighter-rouge">${maxLengthExpression}</code> and <code
class="highlighter-rouge">${trimExpression}</code> as an expression
+as this will turn into infinitive loop!</p>
</blockquote>
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator Syntax -->
- <validator type="stringlength">
- <param name="fieldName">myPurchaseCode</param>
- <param name="minLength">10</param>
- <param name="maxLength">10</param>
- <param name="trim">true</param>
- <message>Your purchase code needs to be 10 characters
long</message>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"stringlength"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>myPurchaseCode<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"minLength"</span><span class="nt">></span>10<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"maxLength"</span><span class="nt">></span>10<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"trim"</span><span class="nt">></span>true<span
class="nt"></param></span>
+ <span class="nt"><message></span>Your purchase code needs to be
10 characters long<span class="nt"></message></span>
+ <span class="nt"></validator></span>
- <!-- Field Validator Syntax -->
- <field name="myPurchaseCode">
- <field-validator type="stringlength">
- <param name="minLength">10</param>
- <param name="maxLength">10</param>
- <param name="trim">true</param>
- <message>Your purchase code needs to be 10 characters
long</message>
- </field-validator>
- </field>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myPurchaseCode"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"stringlength"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"minLength"</span><span
class="nt">></span>10<span class="nt"></param></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"maxLength"</span><span
class="nt">></span>10<span class="nt"></param></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"trim"</span><span
class="nt">></span>true<span class="nt"></param></span>
+ <span class="nt"><message></span>Your purchase code needs
to be 10 characters long<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
- <!-- Field Validator Syntax with expression -->
- <field name="myPurchaseCode">
- <field-validator type="stringlength">
- <param
name="minLengthExpression">${minLengthValue}</param> <!-- will be
evaluated as: Integer getMinLengthValue() -->
- <param
name="maxLengthExpression">${maxLengthValue}</param> <!-- will be
evaluated as: Integer getMaxLengthValue() -->
- <param name="trimExpression">${trimValue}</param>
<!-- will be evaluated as: boolean getTrimValue() -->
- <message>Your purchase code needs to be 10 characters
long</message>
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field Validator Syntax with expression
--></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myPurchaseCode"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"stringlength"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"minLengthExpression"</span><span
class="nt">></span>${minLengthValue}<span class="nt"></param></span>
<span class="c"><!-- will be evaluated as: Integer getMinLengthValue()
--></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"maxLengthExpression"</span><span
class="nt">></span>${maxLengthValue}<span class="nt"></param></span>
<span class="c"><!-- will be evaluated as: Integer getMaxLengthValue()
--></span>
+ <span class="nt"><param</span> <span
class="na">name=</span><span class="s">"trimExpression"</span><span
class="nt">></span>${trimValue}<span class="nt"></param></span> <span
class="c"><!-- will be evaluated as: boolean getTrimValue() --></span>
+ <span class="nt"><message></span>Your purchase code needs
to be 10 characters long<span class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/url-validator.html
b/output/core-developers/url-validator.html
index e6c8f86..67b1052 100644
--- a/output/core-developers/url-validator.html
+++ b/output/core-developers/url-validator.html
@@ -129,7 +129,13 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/url-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="url-validator">url validator</h1>
+ <h1 class="no_toc" id="url-validator">url validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
@@ -145,23 +151,23 @@
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator Syntax -->
- <validator type="url">
- <param name="fieldName">myHomePage</param>
- <message>Invalid homepage url</message>
- </validator>
-
- <!-- Field Validator Syntax -->
- <field name="myHomepage">
- <field-validator type="url">
- <message>Invalid homepage url</message>
- </field-validator>
- </field>
-</validators>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"url"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>myHomePage<span
class="nt"></param></span>
+ <span class="nt"><message></span>Invalid homepage url<span
class="nt"></message></span>
+ <span class="nt"></validator></span>
+
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"myHomepage"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"url"</span><span class="nt">></span>
+ <span class="nt"><message></span>Invalid homepage url<span
class="nt"></message></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
-<p>See more details in <a href="url-validator-annotation.html">UrlValidator
Annotation</a></p>
+<p>See more details in <a href="url-validator-annotation">UrlValidator
Annotation</a></p>
</section>
</article>
diff --git a/output/core-developers/using-field-validators.html
b/output/core-developers/using-field-validators.html
index ce17fe5..6146af8 100644
--- a/output/core-developers/using-field-validators.html
+++ b/output/core-developers/using-field-validators.html
@@ -129,57 +129,61 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/using-field-validators.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="using-field-validators">Using Field Validators</h1>
+ <h1 class="no_toc" id="using-field-validators">Using Field Validators</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a>
<ul>
+ <li><a href="#step-1" id="markdown-toc-step-1">Step 1</a></li>
+ <li><a href="#step-2" id="markdown-toc-step-2">Step 2</a></li>
+ <li><a href="#step-3" id="markdown-toc-step-3">Step 3</a></li>
+ </ul>
+ </li>
+</ul>
<h2 id="description">Description</h2>
<p>The followings show a simple example using Struts’ Field Validators</p>
-<p><strong>Step 1</strong></p>
+<h3 id="step-1">Step 1</h3>
<p>Create the jsp page</p>
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
- <span class="nt"><h3></span>All Field Errors Will Appear
Here<span class="nt"></h3></span>
- <span class="nt"><s:fielderror/></span>
- <span class="nt"><hr/></span>
-
- <span class="nt"><h3></span>Field Error due to 'Required
String Validator Field' Will Appear Here<span class="nt"></h3></span>
- <span class="nt"><s:fielderror></span>
- <span class="nt"><s:param</span> <span
class="na">value=</span><span
class="s">"%{'requiredStringValidatorField'}"</span><span
class="nt">/></span>
- <span class="nt"></s:fielderror></span>
- <span class="nt"><hr/></span>
-
- <span class="nt"><h3></span>Field Error due to 'String
Length Validator Field' Will Appear Here<span class="nt"></h3></span>
- <span class="nt"><s:fielderror></span>
- <span
class="nt"><s:param></span>stringLengthValidatorField<span
class="nt"></s:param></span>
- <span class="nt"></s:fielderror></span>
- <span class="nt"><hr/></span>
-
- <span class="nt"><s:form</span> <span
class="na">action=</span><span class="s">"submitFieldValidatorsExamples"</span>
<span class="na">namespace=</span><span class="s">"/validation"</span> <span
class="na">method=</span><span class="s">"POST"</span> <span
class="na">theme=</span><span class="s">"xhtml"</span><span
class="nt">></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Required Validator Field"</span> <span
class="na">name=</span><span class="s">"requiredValidatorField"</span><span
class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Required String Validator
Field"</span> <span class="na">name=</span><span
class="s">"requiredStringValidatorField"</span><span class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Integer Validator Field"</span> <span
class="na">name=</span><span class="s">"integerValidatorField"</span><span
class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Date Validator Field"</span> <span
class="na">name=</span><span class="s">"dateValidatorField"</span><span
class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Email Validator Field"</span> <span
class="na">name=</span><span class="s">"emailValidatorField"</span><span
class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"URL Validator Field"</span> <span
class="na">name=</span><span class="s">"urlValidatorField"</span><span
class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"String Length Validator Field"</span>
<span class="na">name=</span><span
class="s">"stringLengthValidatorField"</span><span class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Regex Validator Field"</span> <span
class="na">name=</span><span class="s">"regexValidatorField"</span><span
class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Field Expression Validator
Field"</span> <span class="na">name=</span><span
class="s">"fieldExpressionValidatorField"</span><span class="nt">/></span>
- <span class="nt"><s:submit</span> <span
class="na">label=</span><span class="s">"Submit"</span> <span
class="na">cssClass=</span><span class="s">"btn btn-primary"</span><span
class="nt">/></span>
- <span class="nt"></s:form></span>
-
-
+<div class="language-html highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
+<span class="nt"><h3></span>All Field Errors Will Appear Here<span
class="nt"></h3></span>
+<span class="nt"><s:fielderror/></span>
+<span class="nt"><hr/></span>
+
+<span class="nt"><h3></span>Field Error due to 'Required String
Validator Field' Will Appear Here<span class="nt"></h3></span>
+<span class="nt"><s:fielderror></span>
+ <span class="nt"><s:param</span> <span class="na">value=</span><span
class="s">"%{'requiredStringValidatorField'}"</span><span
class="nt">/></span>
+<span class="nt"></s:fielderror></span>
+<span class="nt"><hr/></span>
+
+<span class="nt"><h3></span>Field Error due to 'String Length Validator
Field' Will Appear Here<span class="nt"></h3></span>
+<span class="nt"><s:fielderror></span>
+ <span class="nt"><s:param></span>stringLengthValidatorField<span
class="nt"></s:param></span>
+<span class="nt"></s:fielderror></span>
+<span class="nt"><hr/></span>
+
+<span class="nt"><s:form</span> <span class="na">action=</span><span
class="s">"submitFieldValidatorsExamples"</span> <span
class="na">namespace=</span><span class="s">"/validation"</span> <span
class="na">method=</span><span class="s">"POST"</span> <span
class="na">theme=</span><span class="s">"xhtml"</span><span
class="nt">></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Required Validator Field"</span> <span
class="na">name=</span><span class="s">"requiredValidatorField"</span><span
class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Required String Validator
Field"</span> <span class="na">name=</span><span
class="s">"requiredStringValidatorField"</span><span class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Integer Validator Field"</span> <span
class="na">name=</span><span class="s">"integerValidatorField"</span><span
class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Date Validator Field"</span> <span
class="na">name=</span><span class="s">"dateValidatorField"</span><span
class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Email Validator Field"</span> <span
class="na">name=</span><span class="s">"emailValidatorField"</span><span
class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"URL Validator Field"</span> <span
class="na">name=</span><span class="s">"urlValidatorField"</span><span
class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"String Length Validator Field"</span>
<span class="na">name=</span><span
class="s">"stringLengthValidatorField"</span><span class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Regex Validator Field"</span> <span
class="na">name=</span><span class="s">"regexValidatorField"</span><span
class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span
class="na">label=</span><span class="s">"Field Expression Validator
Field"</span> <span class="na">name=</span><span
class="s">"fieldExpressionValidatorField"</span><span class="nt">/></span>
+ <span class="nt"><s:submit</span> <span class="na">label=</span><span
class="s">"Submit"</span> <span class="na">cssClass=</span><span class="s">"btn
btn-primary"</span><span class="nt">/></span>
+<span class="nt"></s:form></span>
</code></pre></div></div>
-<p><strong>Step 2</strong></p>
+<h3 id="step-2">Step 2</h3>
<p>Create the action class</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <span class="o">*/</span>
-<span class="kd">public</span> <span class="kd">class</span> <span
class="nc">FieldValidatorsExampleAction</span> <span class="kd">extends</span>
<span class="n">AbstractValidationActionSupport</span> <span class="o">{</span>
-
- <span class="kd">private</span> <span class="kd">static</span> <span
class="kd">final</span> <span class="kt">long</span> <span
class="n">serialVersionUID</span> <span class="o">=</span> <span
class="o">-</span><span class="mi">4829381083003175423L</span><span
class="o">;</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="kd">public</span> <span
class="kd">class</span> <span class="nc">FieldValidatorsExampleAction</span>
<span class="kd">extends</span> <span
class="n">AbstractValidationActionSupport</span> <span class="o">{</span>
<span class="kd">private</span> <span class="n">String</span> <span
class="n">requiredValidatorField</span> <span class="o">=</span> <span
class="kc">null</span><span class="o">;</span>
<span class="kd">private</span> <span class="n">String</span> <span
class="n">requiredStringValidatorField</span> <span class="o">=</span> <span
class="kc">null</span><span class="o">;</span>
@@ -265,17 +269,13 @@
<span class="k">this</span><span class="o">.</span><span
class="na">urlValidatorField</span> <span class="o">=</span> <span
class="n">urlValidatorField</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
-
-<span class="o">/**</span>
-
</code></pre></div></div>
-<p><strong>Step 3</strong></p>
+<h3 id="step-3">Step 3</h3>
-<p>Create the validator.xml.</p>
+<p>Create the <code class="highlighter-rouge">validator.xml</code>.</p>
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
-<span class="nt"><validators></span>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
<span class="nt"><field</span> <span class="na">name=</span><span
class="s">"requiredValidatorField"</span><span class="nt">></span>
<span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"required"</span><span
class="nt">></span>
<span class="nt"><message></span><span
class="cp"><![CDATA[ required ]]></span><span
class="nt"></message></span>
@@ -322,7 +322,7 @@
<span class="nt"><field</span> <span class="na">name=</span><span
class="s">"regexValidatorField"</span><span class="nt">></span>
<span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"regex"</span><span
class="nt">></span>
<span class="nt"><param</span> <span
class="na">name=</span><span class="s">"regex"</span><span
class="nt">></span><span class="cp"><![CDATA[ [^<>]+
]]></span><span class="nt"></param></span>
- <span class="nt"><message></span><span
class="cp"><![CDATA[ regexValidatorField must match a regexp (.*\.txt) if
specified ]]></span><span class="nt"></message></span>
+ <span class="nt"><message></span><span
class="cp"><![CDATA[ regexValidatorField must match a regexp (.*.txt) if
specified ]]></span><span class="nt"></message></span>
<span class="nt"></field-validator></span>
<span class="nt"></field></span>
<span class="nt"><field</span> <span class="na">name=</span><span
class="s">"fieldExpressionValidatorField"</span><span class="nt">></span>
@@ -332,11 +332,8 @@
<span class="nt"></field-validator></span>
<span class="nt"></field></span>
<span class="nt"></validators></span>
-
-
</code></pre></div></div>
-
</section>
</article>
diff --git a/output/core-developers/using-visitor-field-validator.html
b/output/core-developers/using-visitor-field-validator.html
index a18aa03..ba7ee3b 100644
--- a/output/core-developers/using-visitor-field-validator.html
+++ b/output/core-developers/using-visitor-field-validator.html
@@ -129,37 +129,40 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/using-visitor-field-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="using-visitor-field-validator">Using Visitor Field Validator</h1>
+ <h1 class="no_toc" id="using-visitor-field-validator">Using Visitor Field
Validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a>
<ul>
+ <li><a href="#step-1" id="markdown-toc-step-1">Step 1</a></li>
+ <li><a href="#step-2" id="markdown-toc-step-2">Step 2</a></li>
+ <li><a href="#step-3" id="markdown-toc-step-3">Step 3</a></li>
+ </ul>
+ </li>
+</ul>
<h2 id="description">Description</h2>
<p>The followings show a simple example using Webwork’s Field Validators</p>
-<p><strong>Step 1</strong></p>
+<h3 id="step-1">Step 1</h3>
<p>Create the jsp page.</p>
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
- <span class="nt"><s:fielderror</span> <span
class="na">cssClass=</span><span class="s">"alert alert-error"</span><span
class="nt">/></span>
-
- <span class="nt"><s:form</span> <span
class="na">method=</span><span class="s">"POST"</span> <span
class="na">action=</span><span
class="s">"submitVisitorValidatorsExamples"</span> <span
class="na">namespace=</span><span class="s">"/validation"</span><span
class="nt">></span>
- <span class="nt"><s:textfield</span> <span
class="na">name=</span><span class="s">"user.name"</span> <span
class="na">label=</span><span class="s">"User Name"</span><span
class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">name=</span><span class="s">"user.age"</span> <span
class="na">label=</span><span class="s">"User Age"</span><span
class="nt">/></span>
- <span class="nt"><s:textfield</span> <span
class="na">name=</span><span class="s">"user.birthday"</span> <span
class="na">label=</span><span class="s">"Birthday"</span><span
class="nt">/></span>
- <span class="nt"><s:submit</span> <span
class="na">label=</span><span class="s">"Submit"</span> <span
class="na">cssClass=</span><span class="s">"btn btn-primary"</span><span
class="nt">/></span>
- <span class="nt"></s:form></span>
-
+<div class="language-html highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><s:fielderror</span> <span
class="na">cssClass=</span><span class="s">"alert alert-error"</span><span
class="nt">/></span>
+<span class="nt"><s:form</span> <span class="na">method=</span><span
class="s">"POST"</span> <span class="na">action=</span><span
class="s">"submitVisitorValidatorsExamples"</span> <span
class="na">namespace=</span><span class="s">"/validation"</span><span
class="nt">></span>
+ <span class="nt"><s:textfield</span> <span class="na">name=</span><span
class="s">"user.name"</span> <span class="na">label=</span><span
class="s">"User Name"</span><span class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span class="na">name=</span><span
class="s">"user.age"</span> <span class="na">label=</span><span class="s">"User
Age"</span><span class="nt">/></span>
+ <span class="nt"><s:textfield</span> <span class="na">name=</span><span
class="s">"user.birthday"</span> <span class="na">label=</span><span
class="s">"Birthday"</span><span class="nt">/></span>
+ <span class="nt"><s:submit</span> <span class="na">label=</span><span
class="s">"Submit"</span> <span class="na">cssClass=</span><span class="s">"btn
btn-primary"</span><span class="nt">/></span>
+<span class="nt"></s:form></span>
</code></pre></div></div>
-<p><strong>Step 2</strong></p>
+<h3 id="step-2">Step 2</h3>
<p>Create the action class.</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
-<span class="kd">public</span> <span class="kd">class</span> <span
class="nc">VisitorValidatorsExampleAction</span> <span
class="kd">extends</span> <span
class="n">AbstractValidationActionSupport</span> <span class="o">{</span>
-
- <span class="kd">private</span> <span class="kd">static</span> <span
class="kd">final</span> <span class="kt">long</span> <span
class="n">serialVersionUID</span> <span class="o">=</span> <span
class="mi">4375454086939598216L</span><span class="o">;</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="kd">public</span> <span
class="kd">class</span> <span class="nc">VisitorValidatorsExampleAction</span>
<span class="kd">extends</span> <span
class="n">AbstractValidationActionSupport</span> <span class="o">{</span>
<span class="kd">private</span> <span class="n">User</span> <span
class="n">user</span><span class="o">;</span>
@@ -171,42 +174,23 @@
<span class="k">this</span><span class="o">.</span><span
class="na">user</span> <span class="o">=</span> <span
class="n">user</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
-
-
-
</code></pre></div></div>
-<p><strong>Step 3</strong></p>
-
-<p>Create the validator.xml.</p>
-
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
+<h3 id="step-3">Step 3</h3>
+<p>Create the <code class="highlighter-rouge">validator.xml</code>.</p>
-<span class="nt"><validators></span>
-
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
<span class="nt"><field</span> <span class="na">name=</span><span
class="s">"user"</span><span class="nt">></span>
-
<span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"visitor"</span><span
class="nt">></span>
-
<span class="nt"><param</span> <span
class="na">name=</span><span class="s">"context"</span><span
class="nt">></span>userContext<span class="nt"></param></span>
-
<span class="nt"><param</span> <span
class="na">name=</span><span class="s">"appendPrefix"</span><span
class="nt">></span>true<span class="nt"></param></span>
-
<span class="nt"><message></span>User:<span
class="nt"></message></span>
-
<span class="nt"></field-validator></span>
-
<span class="nt"></field></span>
-
<span class="nt"></validators></span>
-
-
-
-
</code></pre></div></div>
-
</section>
</article>
diff --git a/output/core-developers/validation.html
b/output/core-developers/validation.html
index 4e6aabe..63887eb 100644
--- a/output/core-developers/validation.html
+++ b/output/core-developers/validation.html
@@ -173,7 +173,7 @@ for the action.</p>
<h2 id="using-annotations">Using Annotations</h2>
-<p><a href="validation-annotation.html">Annotations</a> can be used as an
alternative to XML for validation.</p>
+<p><a href="validation-annotation">Annotations</a> can be used as an
alternative to XML for validation.</p>
<h2 id="bean-validation">Bean Validation</h2>
@@ -184,15 +184,15 @@ See the <a href="../plugins/">Plugin Page</a> for
details.</p>
<p>In all examples given here, the validation message displayed is given in
plain English - to internationalize the message,
put the string in a properties file and use a property key instead, specified
by the ‘key’ attribute. It will be looked
-up by the framework (see <a href="localization.html">Localization</a>).</p>
+up by the framework (see <a href="localization">Localization</a>).</p>
<ol>
- <li><a href="basic-validation.html">Basic Validation</a></li>
- <li><a href="client-side-validation.html">Client-side Validation</a></li>
+ <li><a href="basic-validation">Basic Validation</a></li>
+ <li><a href="client-side-validation">Client-side Validation</a></li>
<li><em>AJAX Validation</em></li>
- <li><a href="using-field-validators.html">Using Field Validators</a></li>
- <li><a href="using-non-field-validators.html">Using Non Field
Validators</a></li>
- <li><a href="using-visitor-field-validator.html">Using Visitor Field
Validator</a></li>
+ <li><a href="using-field-validators">Using Field Validators</a></li>
+ <li><a href="using-non-field-validators">Using Non Field Validators</a></li>
+ <li><a href="using-visitor-field-validator">Using Visitor Field
Validator</a></li>
<li><em>How do we repopulate controls when validation fails</em> (FAQ
entry)</li>
</ol>
@@ -203,21 +203,21 @@ as it facilitates grouping of field-validators according
to fields. This is very
to have many field-validators which is almost always the case.</p>
<ol>
- <li><a href="conversion-validator.html">conversion validator</a></li>
- <li><a href="date-validator.html">date validator</a></li>
- <li><a href="double-validator.html">double validator</a></li>
- <li><a href="email-validator.html">email validator</a></li>
- <li><a href="expression-validator.html">expression validator</a></li>
- <li><a href="fieldexpression-validator.html">fieldexpression
validator</a></li>
- <li><a href="int-validator.html">int validator</a></li>
- <li><a href="regex-validator.html">regex validator</a></li>
- <li><a href="required-validator.html">required validator</a></li>
- <li><a href="requiredstring-validator.html">requiredstring validator</a></li>
- <li><a href="short-validator.html">short validator</a></li>
- <li><a href="stringlength-validator.html">stringlength validator</a></li>
- <li><a href="url-validator.html">url validator</a></li>
- <li><a href="visitor-validator.html">visitor validator</a></li>
- <li><a href="conditionalvisitor-validator.html">conditionalvisitor
validator</a></li>
+ <li><a href="conversion-validator">conversion validator</a></li>
+ <li><a href="date-validator">date validator</a></li>
+ <li><a href="double-validator">double validator</a></li>
+ <li><a href="email-validator">email validator</a></li>
+ <li><a href="expression-validator">expression validator</a></li>
+ <li><a href="fieldexpression-validator">fieldexpression validator</a></li>
+ <li><a href="int-validator">int validator</a></li>
+ <li><a href="regex-validator">regex validator</a></li>
+ <li><a href="required-validator">required validator</a></li>
+ <li><a href="requiredstring-validator">requiredstring validator</a></li>
+ <li><a href="short-validator">short validator</a></li>
+ <li><a href="stringlength-validator">stringlength validator</a></li>
+ <li><a href="url-validator">url validator</a></li>
+ <li><a href="visitor-validator">visitor validator</a></li>
+ <li><a href="conditionalvisitor-validator">conditionalvisitor
validator</a></li>
</ol>
<h2 id="registering-validators">Registering Validators</h2>
@@ -286,7 +286,7 @@ as described in the examples found here.</p>
<blockquote>
<p><strong>Struts 2.0.7 and Prior</strong>
The <code class="highlighter-rouge">validators.xml</code> containing custom
validators needs to contain a copy of the default validators. No DTD was used
-in <code class="highlighter-rouge">validators.xml</code>. See: <a
href="http://struts.apache.org/docs/release-notes-208.html#ReleaseNotes2.0.8-MigrationfrompreviousReleases">http://struts.apache.org/docs/release-notes-208.html#ReleaseNotes2.0.8-MigrationfrompreviousReleases</a></p>
+in <code class="highlighter-rouge">validators.xml</code>. See: <a
href="https://cwiki.apache.org/confluence/display/WW/Release+Notes+2.0.8#ReleaseNotes2.0.8-MigrationfrompreviousReleases">Release
Notes 2.0.8</a></p>
</blockquote>
<h2 id="turning-on-validation">Turning on Validation</h2>
@@ -536,8 +536,8 @@ by looking at the validation class that the validator’s
programmer chose to im
<p>Non-Field-Validator: The <code
class="highlighter-rouge"><validator></code> element allows you to
declare both types of validators (either a plain Validator
a field-specific FieldValidator).</p>
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validator</span> <span
class="na">type=</span><span class="s">"expression>
- <param name="</span><span class="err">expression"</span><span
class="nt">></span>foo gt bar<span class="nt"></param></span>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validator</span> <span
class="na">type=</span><span class="s">"expression"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"expression"</span><span class="nt">></span>foo gt bar<span
class="nt"></param></span>
<span class="nt"><message></span>foo must be great than bar.<span
class="nt"></message></span>
<span class="nt"></validator></span>
</code></pre></div></div>
diff --git a/output/core-developers/visitor-validator.html
b/output/core-developers/visitor-validator.html
index 3c7ebcf..747db86 100644
--- a/output/core-developers/visitor-validator.html
+++ b/output/core-developers/visitor-validator.html
@@ -129,11 +129,20 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/visitor-validator.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="visitor-validator">visitor validator</h1>
+ <h1 class="no_toc" id="visitor-validator">visitor validator</h1>
+
+<ul id="markdown-toc">
+ <li><a href="#description" id="markdown-toc-description">Description</a></li>
+ <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
+ <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
+</ul>
<h2 id="description">Description</h2>
-<p>The VisitorFieldValidator allows you to forward validation to object
properties of your action using the object’s own validation files. This allows
you to use the <code class="highlighter-rouge">ModelDriven</code> development
pattern and manage your validations for your models in one place, where they
belong, next to your model classes. The VisitorFieldValidator can handle either
simple Object properties, Collections of Objects, or Arrays.</p>
+<p>The VisitorFieldValidator allows you to forward validation to object
properties of your action using the object’s own
+validation files. This allows you to use the <code
class="highlighter-rouge">ModelDriven</code> development pattern and manage
your validations for your models
+in one place, where they belong, next to your model classes. The
VisitorFieldValidator can handle either simple Object
+properties, Collections of Objects, or Arrays.</p>
<h2 id="parameters">Parameters</h2>
@@ -145,22 +154,22 @@
<h2 id="examples">Examples</h2>
-<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><validators>
- <!-- Plain Validator Syntax -->
- <validator type="visitor">
- <param name="fieldName">user</param>
- <param name="context">myContext</param>
- <param name="appendPrefix">true</param>
- </validator>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><validators></span>
+ <span class="c"><!-- Plain Validator Syntax --></span>
+ <span class="nt"><validator</span> <span class="na">type=</span><span
class="s">"visitor"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"fieldName"</span><span class="nt">></span>user<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"context"</span><span class="nt">></span>myContext<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"appendPrefix"</span><span class="nt">></span>true<span
class="nt"></param></span>
+ <span class="nt"></validator></span>
- <!-- Field Validator Syntax -->
- <field name="user">
- <field-validator type="visitor">
- <param name="context">myContext</param>
- <param name="appendPrefix">true</param>
- </field-validator>
- </field>
-</validators>
+ <span class="c"><!-- Field Validator Syntax --></span>
+ <span class="nt"><field</span> <span class="na">name=</span><span
class="s">"user"</span><span class="nt">></span>
+ <span class="nt"><field-validator</span> <span
class="na">type=</span><span class="s">"visitor"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"context"</span><span class="nt">></span>myContext<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"appendPrefix"</span><span class="nt">></span>true<span
class="nt"></param></span>
+ <span class="nt"></field-validator></span>
+ <span class="nt"></field></span>
+<span class="nt"></validators></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/zero-configuration.html
b/output/core-developers/zero-configuration.html
deleted file mode 100644
index c9cbb18..0000000
--- a/output/core-developers/zero-configuration.html
+++ /dev/null
@@ -1,274 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8"/>
- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
- <meta name="Date-Revision-yyyymmdd" content="20140918"/>
- <meta http-equiv="Content-Language" content="en"/>
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-
- <title>Zero Configuration</title>
-
- <link
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
rel="stylesheet" type="text/css">
- <link
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
- <link href="/css/main.css" rel="stylesheet">
- <link href="/css/custom.css" rel="stylesheet">
- <link href="/highlighter/github-theme.css" rel="stylesheet">
-
- <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
- <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
- <script type="text/javascript" src="/js/community.js"></script>
-</head>
-<body>
-
-<a href="http://github.com/apache/struts" class="github-ribbon">
- <img style="position: absolute; right: 0; border: 0;"
src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"
alt="Fork me on GitHub">
-</a>
-
-<header>
- <nav>
- <div role="navigation" class="navbar navbar-default navbar-fixed-top">
- <div class="container">
- <div class="navbar-header">
- <button type="button" data-toggle="collapse"
data-target="#struts-menu" class="navbar-toggle">
- Menu
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a href="/index.html" class="navbar-brand logo"><img
src="/img/struts-logo.svg"></a>
- </div>
- <div id="struts-menu" class="navbar-collapse collapse">
- <ul class="nav navbar-nav">
- <li class="dropdown">
- <a data-toggle="dropdown" href="#" class="dropdown-toggle">
- Home<b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a href="/index.html">Welcome</a></li>
- <li><a href="/download.cgi">Download</a></li>
- <li><a href="/releases.html">Releases</a></li>
- <li><a href="/announce.html">Announcements</a></li>
- <li><a href="http://www.apache.org/licenses/">License</a></li>
- <li><a
href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li>
- <li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
- </ul>
- </li>
- <li class="dropdown">
- <a data-toggle="dropdown" href="#" class="dropdown-toggle">
- Support<b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a href="/mail.html">User Mailing List</a></li>
- <li><a href="https://issues.apache.org/jira/browse/WW">Issue
Tracker</a></li>
- <li><a href="/security.html">Reporting Security Issues</a></li>
- <li class="divider"></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version
Notes</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">Security
Bulletins</a></li>
- <li class="divider"></li>
- <li><a href="/maven/project-info.html">Maven Project
Info</a></li>
- <li><a href="/maven/struts2-core/dependencies.html">Struts
Core Dependencies</a></li>
- <li><a href="/maven/struts2-plugins/modules.html">Plugin
Dependencies</a></li>
- </ul>
- </li>
- <li class="dropdown">
- <a data-toggle="dropdown" href="#" class="dropdown-toggle">
- Documentation<b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a href="/birdseye.html">Birds Eye</a></li>
- <li><a href="/primer.html">Key Technologies</a></li>
- <li><a href="/kickstart.html">Kickstart FAQ</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/WW/Home">Wiki</a></li>
- <li class="divider"></li>
- <li><a href="/getting-started/">Getting Started</a></li>
- <li><a href="/security/">Security Guide</a></li>
- <li><a href="/core-developers/">Core Developers Guide</a></li>
- <li><a href="/tag-developers/">Tag Developers Guide</a></li>
- <li><a href="/maven-archetypes/">Maven Archetypes</a></li>
- <li><a href="/plugins/">Plugins</a></li>
- <li><a href="/maven/struts2-core/apidocs/index.html">Struts
Core API</a></li>
- <li><a href="/tag-developers/tag-reference.html">Tag
reference</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li>
- <li><a
href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
- </ul>
- </li>
- <li class="dropdown">
- <a data-toggle="dropdown" href="#" class="dropdown-toggle">
- Contributing<b class="caret"></b>
- </a>
- <ul class="dropdown-menu">
- <li><a href="/youatstruts.html">You at Struts</a></li>
- <li><a href="/helping.html">How to Help FAQ</a></li>
- <li><a href="/dev-mail.html">Development Lists</a></li>
- <li><a href="/contributors/">Contributors Guide</a></li>
- <li class="divider"></li>
- <li><a href="/submitting-patches.html">Submitting
patches</a></li>
- <li><a href="/builds.html">Source Code and Builds</a></li>
- <li><a href="/coding-standards.html">Coding standards</a></li>
- <li><a
href="https://cwiki.apache.org/confluence/display/WW/Contributors+Guide">Contributors
Guide</a></li>
- <li class="divider"></li>
- <li><a href="/release-guidelines.html">Release
Guidelines</a></li>
- <li><a href="/bylaws.html">PMC Charter</a></li>
- <li><a href="/volunteers.html">Volunteers</a></li>
- <li><a
href="https://gitbox.apache.org/repos/asf?p=struts.git">Source
Repository</a></li>
- <li><a href="/updating-website.html">Updating the
website</a></li>
- </ul>
- </li>
- <li class="apache"><a href="http://www.apache.org/"><img
src="/img/apache.png"></a></li>
- </ul>
- </div>
- </div>
- </div>
- </nav>
-</header>
-
-
-<article class="container">
- <section class="col-md-12">
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
- <a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/zero-configuration.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="zero-configuration">Zero Configuration</h1>
-
-<p><strong>(!) Deprecated Plugin</strong></p>
-
-<blockquote>
-
-</blockquote>
-
-<blockquote>
-
-</blockquote>
-
-<blockquote>
- <p>Since 2.1 this plugin has been deprecated in favor of the <em>Convention
Plugin</em></p>
-</blockquote>
-
-<blockquote>
-
-</blockquote>
-
-<p>A “Zero Configuration” Struts application or plugin uses no additional XML
or properties files. Metadata is expressed through convention and
annotation.</p>
-
-<p>As this is a new feature, and still being field-tested, the documentation
is sketchy. But, here’s what we have so far:</p>
-
-<h2 id="finding-actions">Finding Actions</h2>
-
-<p>Set the “actionPackages” filter init param to a comma-separated list of
packages containing Action classes in web.xml. The packages and their
subpackages will be scanned. All classes in the designated packages that
implement Action or end in “Action” are examined. The latter is to allow for
POJO Actions that don’t implement the Action interface.</p>
-
-<p><strong>Annotation Initialization actionPackages Filter Parameter in
web.xml</strong></p>
-
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
-<span class="nt"><filter></span>
- <span class="nt"><filter-name></span>struts2<span
class="nt"></filter-name></span>
- <span
class="nt"><filter-class></span>org.apache.struts2.dispatcher.FilterDispatcher<span
class="nt"></filter-class></span>
- <span class="nt"><init-param></span>
- <span class="nt"><param-name></span>actionPackages<span
class="nt"></param-name></span>
- <span class="nt"><param-value></span>com.foo.bar,com.baz.quux<span
class="nt"></param-value></span>
- <span class="nt"></init-param></span>
-<span class="nt"></filter></span>
-
-</code></pre></div></div>
-
-<p>We should probably add an action annotation, so that POJOs can itall with
annotations.</p>
-
-<h2 id="examples">Examples</h2>
-
-<p>The only example right now is in the showcase, where the person package
uses the classpath scanning configuration.</p>
-
-<h2 id="action-and-package-name">Action and Package name</h2>
-
-<p>The subpackage name makes the namespace, and the action class name makes
the action name. If there is an “Action” suffix, it is dropped before creating
the action name. Therefore, if the configured package is
<em>com.myapp.actions</em> and the Action is <em>com.myapp.actions.</em>
<strong>member</strong>.EditAction, you can access it via <a
href="http://server/myapp/member/edit\.action">http://server/myapp/member/edit.action</a>.
For multi-word actions, the first letter is lower-ca [...]
-
-<h2 id="results">Results</h2>
-
-<p><a href="#PAGE_43811">Results</a> are defined with the Result and Results
annotations at the <strong>class level</strong>.</p>
-
-<h2 id="namespaces">Namespaces</h2>
-
-<p>The <a href="#PAGE_68488">Namespace Annotation</a> overrides the
namespace.</p>
-
-<h2 id="parent-package">Parent Package</h2>
-
-<p>The <a href="#PAGE_68490">ParentPackage Annotation</a> configures the XWork
package (an XWork package is created per Java package) to extend one or more
defined packages. The best place for this annotation is on the package via the
<code class="highlighter-rouge">package-info.java</code> file, however, for
backward-compatibility, they can be specified on one or more Actions in the
package. To determine which parent packages should be set, first, it looks for
the package annotation, t [...]
-
-<p>For example, if you wanted to set the parent package for the <code
class="highlighter-rouge">com.mycompany.myapp.actions</code> package, create
this package-info.java file:</p>
-
-<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
-<span class="nd">@ParentPackage</span><span class="o">(</span><span
class="s">"my-parent-package"</span><span class="o">)</span>
-<span class="kn">package</span> <span class="n">com</span><span
class="o">.</span><span class="na">mycompany</span><span
class="o">.</span><span class="na">myapp</span><span class="o">.</span><span
class="na">actions</span>
-
-<span class="kn">import</span> <span
class="nn">org.apache.struts2.config.ParentPackage</span><span
class="o">;</span>
-
-</code></pre></div></div>
-
-<p>To define multiple parent packages, list an array of package names:</p>
-
-<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
-<span class="nd">@ParentPackage</span><span class="o">({</span><span
class="s">"my-parent-package1, my-parent-package2"</span><span
class="o">})</span>
-<span class="kn">package</span> <span class="n">com</span><span
class="o">.</span><span class="na">mycompany</span><span
class="o">.</span><span class="na">myapp</span><span class="o">.</span><span
class="na">actions</span>
-
-<span class="kn">import</span> <span
class="nn">org.apache.struts2.config.ParentPackage</span><span
class="o">;</span>
-
-</code></pre></div></div>
-
-<h2 id="feedback">Feedback</h2>
-
-<p>Stay tuned to this page for additional details and documentation. If you
have a chance to try the zero configuration feature, please share any
experiences on dev@ and here.</p>
-
-<h2 id="see-also">See also</h2>
-
-<ul>
- <li>
- <p><em>Zero Configuration Scanning</em> Use Case</p>
- </li>
- <li>
- <p><em>Codebehind Plugin</em></p>
- </li>
- <li>
- <p><em>RESTfulActionMapper</em></p>
- </li>
-</ul>
-
- </section>
-</article>
-
-
-<footer class="container">
- <div class="col-md-12">
- Copyright © 2000-2018 <a href="http://www.apache.org/">The Apache
Software Foundation </a>.
- All Rights Reserved.
- </div>
- <div class="col-md-12">
- Apache Struts, Struts, Apache, the Apache feather logo, and the Apache
Struts project logos are
- trademarks of The Apache Software Foundation.
- </div>
- <div class="col-md-12">Logo and website design donated by <a
href="https://softwaremill.com/">SoftwareMill</a>.</div>
-</footer>
-
-<script>!function (d, s, id) {
- var js, fjs = d.getElementsByTagName(s)[0];
- if (!d.getElementById(id)) {
- js = d.createElement(s);
- js.id = id;
- js.src = "//platform.twitter.com/widgets.js";
- fjs.parentNode.insertBefore(js, fjs);
- }
-}(document, "script", "twitter-wjs");</script>
-<script src="https://apis.google.com/js/platform.js" async="async"
defer="defer"></script>
-
-<div id="fb-root"></div>
-
-<script>(function (d, s, id) {
- var js, fjs = d.getElementsByTagName(s)[0];
- if (d.getElementById(id)) return;
- js = d.createElement(s);
- js.id = id;
- js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
- fjs.parentNode.insertBefore(js, fjs);
-}(document, 'script', 'facebook-jssdk'));</script>
-
-
-</body>
-</html>