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 97e0e2a  Updates production by Jenkins
97e0e2a is described below

commit 97e0e2a1f058849352c425c4290e520ef01d30c6
Author: jenkins <bui...@apache.org>
AuthorDate: Mon Oct 2 17:54:55 2017 +0000

    Updates production by Jenkins
---
 content/core-developers/action-mapper.html | 398 ++++++++---------------------
 1 file changed, 112 insertions(+), 286 deletions(-)

diff --git a/content/core-developers/action-mapper.html 
b/content/core-developers/action-mapper.html
index 2516538..f537c9d 100644
--- a/content/core-developers/action-mapper.html
+++ b/content/core-developers/action-mapper.html
@@ -127,308 +127,149 @@
   <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/action-mapper.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
-    <h1 id="actionmapper">ActionMapper</h1>
+    <h1 class="no_toc" id="actionmapper">ActionMapper</h1>
+
+<ul id="markdown-toc">
+  <li><a href="#description" id="markdown-toc-description">Description</a></li>
+  <li><a href="#defaultactionmapper" 
id="markdown-toc-defaultactionmapper">DefaultActionMapper</a>    <ul>
+      <li><a href="#method-prefix" id="markdown-toc-method-prefix">Method 
prefix</a></li>
+      <li><a href="#action-prefix" id="markdown-toc-action-prefix">Action 
prefix</a></li>
+      <li><a href="#allowed-action-name-regex" 
id="markdown-toc-allowed-action-name-regex">Allowed action name RegEx</a></li>
+      <li><a href="#allowed-method-name-regex" 
id="markdown-toc-allowed-method-name-regex">Allowed method name RegEx</a></li>
+    </ul>
+  </li>
+  <li><a href="#custom-actionmapper" 
id="markdown-toc-custom-actionmapper">Custom ActionMapper</a></li>
+  <li><a href="#compositeactionmapper" 
id="markdown-toc-compositeactionmapper">CompositeActionMapper</a></li>
+  <li><a href="#prefixbasedactionmapper" 
id="markdown-toc-prefixbasedactionmapper">PrefixBasedActionMapper</a></li>
+  <li><a href="#actionmapper-and-actionmapping-objects" 
id="markdown-toc-actionmapper-and-actionmapping-objects">ActionMapper and 
ActionMapping objects</a></li>
+  <li><a href="#customize" id="markdown-toc-customize">Customize</a></li>
+</ul>
 
-<p>####Description####</p>
+<h2 id="description">Description</h2>
 
 <p>The ActionMapper interface provides a mapping between HTTP requests and 
action invocation requests and vice-versa.</p>
 
-<p>When given an HttpServletRequest, the ActionMapper may return null if no 
action invocation request matches or it may return an {{ActionMapping}} that 
describes an action invocation for the framework to try.</p>
+<p>When given an HttpServletRequest, the ActionMapper may return null if no 
action invocation request matches or it may 
+return an <code class="highlighter-rouge">ActionMapping</code> that describes 
an action invocation for the framework to try.</p>
 
-<p>The ActionMapper is not required to guarantee that the {{ActionMapping}} 
returned be a real action or otherwise ensure a valid request. Accordingly, 
most ActionMappers do not need to consult the Struts configuration just to 
determine if a request should be mapped.</p>
+<p>The ActionMapper is not required to guarantee that the <code 
class="highlighter-rouge">ActionMapping</code> returned be a real action or 
otherwise ensure 
+a valid request. Accordingly, most ActionMappers do not need to consult the 
Struts configuration just to determine if 
+a request should be mapped.</p>
 
-<p>Just as requests can be mapped from HTTP to an action invocation, the 
opposite is true as well. However, because HTTP requests (when shown in HTTP 
responses) must be in String form, a String is returned rather than an actual 
request object.</p>
+<p>Just as requests can be mapped from HTTP to an action invocation, the 
opposite is true as well. However, because HTTP 
+requests (when shown in HTTP responses) must be in String form, a String is 
returned rather than an actual request object.</p>
 
-<p>####DefaultActionMapper####</p>
+<h2 id="defaultactionmapper">DefaultActionMapper</h2>
 
-<p>Default action mapper implementation, using the standard</p>
+<p>Default action mapper implementation, using the standard <code 
class="highlighter-rouge">*.[ext]</code> (where ext usually 
<strong>action</strong>) pattern. The extension 
+is looked up from the Struts configuration key <code 
class="highlighter-rouge">struts.action.extension</code>.</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>*.[ext]
-</code></pre>
-</div>
-<p> (where ext usually <strong>action</strong>) pattern. The extension is 
looked up from the Struts configuration key 
{&lt;b&gt;{struts.action.extension}}.</p>
+<p>To help with dealing with buttons and other related requirements, this 
mapper (and other <code class="highlighter-rouge">ActionMapper</code>s, we 
hope) has 
+the ability to name a button with some predefined prefix and have that button 
name alter the execution behaviour.</p>
 
-<p>To help with dealing with buttons and other related requirements, this 
mapper (and other {{ActionMapper}}s, we hope) has the ability to name a button 
with some predefined prefix and have that button name alter the execution 
behaviour. The four prefixes are:</p>
-
-<ul>
-  <li>Method prefix - </li>
-</ul>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>method:default
-</code></pre>
-</div>
+<p>The four prefixes are:</p>
 
 <ul>
-  <li>Action prefix - </li>
+  <li>Method prefix - <code 
class="highlighter-rouge">method:default</code></li>
+  <li>Action prefix - <code 
class="highlighter-rouge">action:dashboard</code></li>
 </ul>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>action:dashboard
-</code></pre>
-</div>
-
-<p>In addition to these four prefixes, this mapper also understands the action 
naming pattern of</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>foo!bar
-</code></pre>
-</div>
-<p> in either the extension form (eg: </p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>foo!bar.action
-</code></pre>
-</div>
-<p>) or in the prefix form (eg:</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>action:foo!bar
-</code></pre>
-</div>
-<p>). This syntax tells this mapper to map to the action named</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>foo
-</code></pre>
-</div>
-<p> and the method</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>bar
-</code></pre>
-</div>
-<p>.</p>
-
-<p>#####Method prefix#####</p>
-
-<p>With method-prefix, instead of calling baz action’s</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>execute()
-</code></pre>
-</div>
-<p> method (by default if it isn’t overridden in</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.xml
-</code></pre>
-</div>
-<p> to be something else), the baz action’s</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>anotherMethod()
-</code></pre>
-</div>
-<p> will be called. A very elegant way determine which button is clicked. 
Alternatively, one would have submit button set a particular value on the 
action when clicked, and the</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>execute()
-</code></pre>
-</div>
-<p> method decides on what to do with the setted value depending on which 
button is clicked.</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>&lt;!-- START 
SNIPPET: method-example --&gt;
-&lt;s:form action="baz"&gt;
-    &lt;s:textfield label="Enter your name" name="person.name"/&gt;
-    &lt;s:submit value="Create person"/&gt;
-    &lt;s:submit method="anotherMethod" value="Cancel"/&gt;
-&lt;/s:form&gt;
-&lt;!-- END SNIPPET: method-example --&gt;
-</code></pre>
-</div>
-
-<p>#####Action prefix#####</p>
-
-<p>With action-prefix, instead of executing baz action’s</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>execute()
-</code></pre>
-</div>
-<p> method (by default if it isn’t overridden in struts.xml to be something 
else), the anotherAction action’s</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>execute()
-</code></pre>
-</div>
-<p> method (assuming again if it isn’t overridden with something else in</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.xml
-</code></pre>
-</div>
-<p>) will be executed.</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>&lt;!-- START 
SNIPPET: action-example --&gt;
-&lt;s:form action="baz"&gt;
-    &lt;s:textfield label="Enter your name" name="person.name"/&gt;
-    &lt;s:submit value="Create person"/&gt;
-    &lt;s:submit action="anotherAction" value="Cancel"/&gt;
-&lt;/s:form&gt;
-&lt;!-- END SNIPPET: action-example --&gt;
-</code></pre>
-</div>
-
-<p>#####Allowed action name RegEx#####</p>
-
-<p>By default the mapper will check if extracted action name matches provided 
RegEx, i.e. </p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>[a-zA-Z0-9._!/\-]*
-</code></pre>
-</div>
-<p>. You redefine this RegEx by defining a constant in </p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.xml
-</code></pre>
-</div>
-<p>named </p>
-
-<div class="highlighter-rouge"><pre 
class="highlight"><code>struts.allowed.action.names
-</code></pre>
-</div>
-<p>. If action name doesn’t match the RegEx a default action name will be 
returned which is defined as </p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>index
-</code></pre>
-</div>
-<p>. You can also redefine this by specifying constant </p>
-
-<div class="highlighter-rouge"><pre 
class="highlight"><code>struts.default.action.name
-</code></pre>
-</div>
-<p>in </p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.xml
-</code></pre>
-</div>
-
-<p>#####Allowed method name RegEx#####</p>
-
-<p>The same logic as above is used for extracted methods, the default RegEx</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>(
-</code></pre>
-</div>
+<p>In addition to these four prefixes, this mapper also understands the action 
naming pattern of <code class="highlighter-rouge">foo!bar</code> in either 
+the extension form (eg: <code class="highlighter-rouge">foo!bar.action</code>) 
or in the prefix form (eg: <code 
class="highlighter-rouge">action:foo!bar</code>). This syntax tells this mapper 
+to map to the action named <code class="highlighter-rouge">foo</code> and the 
method <code class="highlighter-rouge">bar</code>.</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>[a-zA-Z_]*[0-9]*)
-</code></pre>
-</div>
-<p>is used to check if method is allowed, you can change this by setting 
constant </p>
+<h3 id="method-prefix">Method prefix</h3>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>struts.allowed.method.names
-</code></pre>
-</div>
-<p>in </p>
+<p>With method-prefix, instead of calling baz action’s <code 
class="highlighter-rouge">execute()</code> method (by default if it isn’t 
overridden in <code class="highlighter-rouge">struts.xml</code>
+to be something else), the baz action’s <code 
class="highlighter-rouge">anotherMethod()</code> will be called. A very elegant 
way determine which button is 
+clicked. Alternatively, one would have submit button set a particular value on 
the action when clicked, and the <code 
class="highlighter-rouge">execute()</code>
+method decides on what to do with the setted value depending on which button 
is clicked.</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.xml
+<div class="highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;s:form</span> <span class="na">action=</span><span 
class="s">"baz"</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;s:textfield</span> <span 
class="na">label=</span><span class="s">"Enter your name"</span> <span 
class="na">name=</span><span class="s">"person.name"</span><span 
class="nt">/&gt;</span>
+    <span class="nt">&lt;s:submit</span> <span class="na">value=</span><span 
class="s">"Create person"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;s:submit</span> <span class="na">method=</span><span 
class="s">"anotherMethod"</span> <span class="na">value=</span><span 
class="s">"Cancel"</span><span class="nt">/&gt;</span>
+<span class="nt">&lt;/s:form&gt;</span>
 </code></pre>
 </div>
-<p>. If method doesn’t match the RegEx a default method is returned, i.e. </p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>execute
-</code></pre>
-</div>
-<p>. This can be changed by defining constant </p>
+<h3 id="action-prefix">Action prefix</h3>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>struts.default.method.name
-</code></pre>
-</div>
-<p>in </p>
+<p>With action-prefix, instead of executing baz action’s <code 
class="highlighter-rouge">execute()</code> method (by default if it isn’t 
overridden in <code class="highlighter-rouge">struts.xml</code> 
+to be something else), the anotherAction action’s <code 
class="highlighter-rouge">execute()</code> method (assuming again if it isn’t 
overridden with something 
+else in <code class="highlighter-rouge">struts.xml</code>) will be 
executed.</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.xml
+<div class="highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;s:form</span> <span class="na">action=</span><span 
class="s">"baz"</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;s:textfield</span> <span 
class="na">label=</span><span class="s">"Enter your name"</span> <span 
class="na">name=</span><span class="s">"person.name"</span><span 
class="nt">/&gt;</span>
+    <span class="nt">&lt;s:submit</span> <span class="na">value=</span><span 
class="s">"Create person"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;s:submit</span> <span class="na">action=</span><span 
class="s">"anotherAction"</span> <span class="na">value=</span><span 
class="s">"Cancel"</span><span class="nt">/&gt;</span>
+<span class="nt">&lt;/s:form&gt;</span>
 </code></pre>
 </div>
-<p>.</p>
 
-<p>Please note that this funcionallity only works when <a 
href="https://cwiki\.apache\.org/confluence/display/WW/Action\+Configuration\#ActionConfiguration\-DynamicMethodInvocation";>Dynamic
 Method 
Invocation</a>^[https://cwiki.apache.org/confluence/display/WW/Action+Configuration#ActionConfiguration-DynamicMethodInvocation]
 is enabled.</p>
+<h3 id="allowed-action-name-regex">Allowed action name RegEx</h3>
 
-<p>####Custom ActionMapper####</p>
+<p>By default the mapper will check if extracted action name matches provided 
RegEx, i.e. <code class="highlighter-rouge">[a-zA-Z0-9._!/-]*</code>. You 
redefine 
+this RegEx by defining a constant in <code 
class="highlighter-rouge">struts.xml</code> named <code 
class="highlighter-rouge">struts.allowed.action.names</code>. If action name 
doesn’t match 
+the RegEx a default action name will be returned which is defined as <code 
class="highlighter-rouge">index</code>. You can also redefine this by 
specifying 
+constant <code class="highlighter-rouge">struts.default.action.name</code> in 
<code class="highlighter-rouge">struts.xml</code>.</p>
 
-<p>You can define your own ActionMapper by implementing</p>
+<h3 id="allowed-method-name-regex">Allowed method name RegEx</h3>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>org.apache.struts2.dispatcher.mapper.ActionMapper
-</code></pre>
-</div>
-<p>then configuring Struts 2 to use the new class in struts.xml</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>&lt;bean 
type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="mymapper" 
class="com.mycompany.myapp.MyActionMapper" /&gt;
-&lt;constant name="struts.mapper.class" value="mymapper" /&gt;
+<p>The same logic as above is used for extracted methods, the default RegEx 
(<code class="highlighter-rouge">[a-zA-Z_]*[0-9]*</code>) is used to check if 
method 
+is allowed, you can change this by setting constant <code 
class="highlighter-rouge">struts.allowed.method.names</code> in <code 
class="highlighter-rouge">struts.xml</code>. If method doesn’t match 
+the RegEx a default method is returned, i.e. <code 
class="highlighter-rouge">execute</code>. This can be changed by defining 
constant <code class="highlighter-rouge">struts.default.method.name</code>
+in <code class="highlighter-rouge">struts.xml</code>.</p>
 
-</code></pre>
-</div>
+<p>Please note that this functionality only works when <a 
href="action-configuration.html#dynamic-method-invocation">Dynamic Method 
Invocation</a>
+is enabled.</p>
 
-<p>Possible uses of the ActionMapper include defining your own, cleaner 
namespaces, such as URLs like <strong>/person/1</strong>, which would be 
similar to a request to <strong>/getPerson.action?personID=1</strong> using the 
DefaultActionMapper.</p>
+<h2 id="custom-actionmapper">Custom ActionMapper</h2>
 
-<p>####CompositeActionMapper####</p>
+<p>You can define your own ActionMapper by implementing <code 
class="highlighter-rouge">org.apache.struts2.dispatcher.mapper.ActionMapper</code>
 then configuring 
+Struts 2 to use the new class in <code 
class="highlighter-rouge">struts.xml</code></p>
 
-<p>A composite action mapper that is capable of delegating to a series of  if 
the former failed to obtained a valid <em>ActionMapping</em>  or uri.</p>
-
-<p>It is configured through <a href="struts-xml.html">struts.xml</a>. For 
example, with the following entries in struts.xml</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>&lt;constant 
name="struts.mapper.class" value="composite" /&gt;
-&lt;constant name="struts.mapper.composite" value="struts,restful,restful2" 
/&gt;
+<div class="highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;bean</span> <span class="na">type=</span><span 
class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span 
class="na">name=</span><span class="s">"mymapper"</span> <span 
class="na">class=</span><span 
class="s">"com.mycompany.myapp.MyActionMapper"</span> <span 
class="nt">/&gt;</span>
 
+<span class="nt">&lt;constant</span> <span class="na">name=</span><span 
class="s">"struts.mapper.class"</span> <span class="na">value=</span><span 
class="s">"mymapper"</span> <span class="nt">/&gt;</span>
 </code></pre>
 </div>
 
-<p>When</p>
-
-<div class="highlighter-rouge"><pre 
class="highlight"><code>CompositeActionMapper#getMapping(HttpServletRequest, 
ConfigurationManager)
-</code></pre>
-</div>
-<p>or</p>
+<p>Possible uses of the ActionMapper include defining your own, cleaner 
namespaces, such as URLs like <strong>/person/1</strong>, which 
+would be similar to a request to <strong>/getPerson.action?personID=1</strong> 
using the DefaultActionMapper.</p>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>CompositeActionMapper#getUriFromActionMapping(ActionMapping)
-</code></pre>
-</div>
-<p>is invoked,</p>
+<h2 id="compositeactionmapper">CompositeActionMapper</h2>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>CompositeActionMapper
-</code></pre>
-</div>
-<p>would go through these s in sequence starting from  identified by</p>
+<p>A composite action mapper that is capable of delegating to a series of  if 
the former failed to obtained a valid 
+<code class="highlighter-rouge">ActionMapping</code> or uri.</p>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>struts.mapper.composite.1
-</code></pre>
-</div>
-<p>, followed by</p>
+<p>It is configured through <a href="struts-xml.html">struts.xml</a>. For 
example, with the following entries in <code 
class="highlighter-rouge">struts.xml</code></p>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>struts.mapper.composite.2
+<div class="highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;constant</span> <span class="na">name=</span><span 
class="s">"struts.mapper.class"</span> <span class="na">value=</span><span 
class="s">"composite"</span> <span class="nt">/&gt;</span>
+<span class="nt">&lt;constant</span> <span class="na">name=</span><span 
class="s">"struts.mapper.composite"</span> <span class="na">value=</span><span 
class="s">"struts,restful,restful2"</span> <span class="nt">/&gt;</span>
 </code></pre>
 </div>
-<p>and finally</p>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>struts.mapper.composite.3
-</code></pre>
-</div>
-<p>(in this case) until either one of the  return a valid result (not null) or 
it runs out of  in which case it will just return null for both</p>
-
-<div class="highlighter-rouge"><pre 
class="highlight"><code>CompositeActionMapper#getMapping(HttpServletRequest, 
ConfigurationManager)
-</code></pre>
-</div>
-<p>and</p>
-
-<div class="highlighter-rouge"><pre 
class="highlight"><code>CompositeActionMapper#getUriFromActionMapping(ActionMapping)
-</code></pre>
-</div>
-<p>methods.</p>
+<p>When <code 
class="highlighter-rouge">CompositeActionMapper#getMapping(HttpServletRequest, 
ConfigurationManager)</code> or <code 
class="highlighter-rouge">CompositeActionMapper#getUriFromActionMapping(ActionMapping)</code>
+is invoked, <code class="highlighter-rouge">CompositeActionMapper</code> would 
go through these s in sequence starting from identified by <code 
class="highlighter-rouge">struts.mapper.composite.1</code>, 
+followed by <code class="highlighter-rouge">struts.mapper.composite.2</code> 
and finally <code class="highlighter-rouge">struts.mapper.composite.3</code> 
(in this case) until either one of the return 
+a valid result (not null) or it runs out of  in which case it will just return 
null for both 
+<code 
class="highlighter-rouge">CompositeActionMapper#getMapping(HttpServletRequest, 
ConfigurationManager)</code> and <code 
class="highlighter-rouge">CompositeActionMapper#getUriFromActionMapping(ActionMapping)</code>
+methods.</p>
 
 <p>For example with the following in struts.xml:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>&lt;constant 
name="struts.mapper.class" value="composite" /&gt;
-&lt;constant name="struts.mapper.composite" value="struts,restful" /&gt;
-
-</code></pre>
-</div>
-
-<div class="highlighter-rouge"><pre 
class="highlight"><code>CompositeActionMapper
+<div class="highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;constant</span> <span class="na">name=</span><span 
class="s">"struts.mapper.class"</span> <span class="na">value=</span><span 
class="s">"composite"</span> <span class="nt">/&gt;</span>
+<span class="nt">&lt;constant</span> <span class="na">name=</span><span 
class="s">"struts.mapper.composite"</span> <span class="na">value=</span><span 
class="s">"struts,restful"</span> <span class="nt">/&gt;</span>
 </code></pre>
 </div>
-<p>will be configured with 2 ActionMapper, namely “struts” which is</p>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>org.apache.struts2.dispatcher.mapper.DefaultActionMapper
-</code></pre>
-</div>
-<p>and “restful” which is</p>
+<p><code class="highlighter-rouge">CompositeActionMapper</code> will be 
configured with 2 ActionMapper, namely “struts” which is <code 
class="highlighter-rouge">org.apache.struts2.dispatcher.mapper.DefaultActionMapper</code>
+and “restful” which is <code 
class="highlighter-rouge">org.apache.struts2.dispatcher.mapper.RestfulActionMapperRestfulActionMapper</code>.</p>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>org.apache.struts2.dispatcher.mapper.RestfulActionMapperRestfulActionMapper
-</code></pre>
-</div>
-<p>.</p>
+<p><code class="highlighter-rouge">CompositeActionMapper</code> would consult 
each of them in order described above.</p>
 
-<div class="highlighter-rouge"><pre 
class="highlight"><code>CompositeActionMapper
-</code></pre>
-</div>
-<p>would consult each of them in order described above.</p>
-
-<p>####PrefixBasedActionMapper####</p>
+<h2 id="prefixbasedactionmapper">PrefixBasedActionMapper</h2>
 
 <p> <p>
  A prefix based action mapper that is capable of delegating to other {@link 
ActionMapper}s based on the request's prefix.<br />
@@ -475,54 +316,39 @@
  &lt;constant name="struts.mapper.prefixMapping" value="..."/&gt;
  </pre></p>
 
-<p>####ActionMapper and ActionMapping objects####</p>
+<h2 id="actionmapper-and-actionmapping-objects">ActionMapper and ActionMapping 
objects</h2>
 
-<p>The ActionMapper fetches the ActionMapping object corresponding to a given 
request. Essentially, the ActionMapping is a data transfer object that collects 
together details such as the Action class and method to execute. The mapping is 
utilized by the Dispatcher and various user interface components. It is 
customizable through</p>
+<p>The ActionMapper fetches the ActionMapping object corresponding to a given 
request. Essentially, the ActionMapping is 
+a data transfer object that collects together details such as the Action class 
and method to execute. The mapping is 
+utilized by the Dispatcher and various user interface components. It is 
customizable through <code class="highlighter-rouge">struts.mapper.class</code> 
+entry in <code class="highlighter-rouge">struts.xml</code>. Note that the 
value of this constant is the name of the bean of the new mapper.</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.mapper.class
-</code></pre>
-</div>
-<p>entry in</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.properties
-</code></pre>
-</div>
-<p>or</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>struts.xml
-</code></pre>
-</div>
-<p>. Note that the value of this constant is the name of the bean of the new 
mapper.</p>
-
-<p>#####Customize#####</p>
+<h2 id="customize">Customize</h2>
 
 <p>Custom ActionMapper must implement ActionMapper interface and have a 
default constructor.</p>
 
-<blockquote>
-
-</blockquote>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>&lt;bean 
type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="mymapper" 
class="com.mycompany.myapp.MyActionMapper" /&gt;
-&lt;constant name="struts.mapper.class" value="mymapper" /&gt;
+<div class="highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;bean</span> <span class="na">type=</span><span 
class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span 
class="na">name=</span><span class="s">"mymapper"</span> <span 
class="na">class=</span><span 
class="s">"com.mycompany.myapp.MyActionMapper"</span> <span 
class="nt">/&gt;</span>
 
+<span class="nt">&lt;constant</span> <span class="na">name=</span><span 
class="s">"struts.mapper.class"</span> <span class="na">value=</span><span 
class="s">"mymapper"</span> <span class="nt">/&gt;</span>
 </code></pre>
 </div>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>public class 
MyCustomActionMapper implements ActionMapper {
-  public ActionMapping getMapping(HttpServletRequest request,
-                                  ConfigurationManager configManager) {
-    ....
-  }
-
-  public String getUriFromActionMapping(ActionMapping mapping) {
-    ....
-  }
-}
+<div class="highlighter-rouge"><pre class="highlight"><code><span 
class="kd">public</span> <span class="kd">class</span> <span 
class="nc">MyCustomActionMapper</span> <span class="kd">implements</span> <span 
class="n">ActionMapper</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="n">ActionMapping</span> <span 
class="n">getMapping</span><span class="o">(</span><span 
class="n">HttpServletRequest</span> <span class="n">request</span><span 
class="o">,</span>
+                                  <span class="n">ConfigurationManager</span> 
<span class="n">configManager</span><span class="o">)</span> <span 
class="o">{</span>
+    <span class="o">....</span>
+  <span class="o">}</span>
 
+  <span class="kd">public</span> <span class="n">String</span> <span 
class="n">getUriFromActionMapping</span><span class="o">(</span><span 
class="n">ActionMapping</span> <span class="n">mapping</span><span 
class="o">)</span> <span class="o">{</span>
+    <span class="o">....</span>
+  <span class="o">}</span>
+<span class="o">}</span>
 </code></pre>
 </div>
 
-<p>(light-on) See also: <a 
href="restful-action-mapper.html">RestfulActionMapper</a></p>
+<blockquote>
+  <p>See also: <a href="restful-action-mapper.html">RestfulActionMapper</a></p>
+</blockquote>
 
   </section>
 </article>

-- 
To stop receiving notification emails like this one, please contact
['"commits@struts.apache.org" <commits@struts.apache.org>'].

Reply via email to