<!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>ActionMapper</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 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>
    
    <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a>
    
    <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>    <ul>
      <li><a href="#prefixbasedactionproxyfactory" id="markdown-toc-prefixbasedactionproxyfactory">PrefixBasedActionProxyFactory</a></li>
    </ul>
  </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>

<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 <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 <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>

<h2 id="defaultactionmapper">DefaultActionMapper</h2>

<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>

<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>The four prefixes are:</p>

<ul>
  <li>Method prefix - <code class="highlighter-rouge">method:default</code></li>
  <li>Action prefix - <code class="highlighter-rouge">action:dashboard</code></li>
</ul>

<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>

<blockquote>
  <p>NOTE: By default support for the <code class="highlighter-rouge">action:</code> prefix has been disabled since Struts 2.3.15.3, please use the below 
constant to enable it:</p>
  <ul>
    <li>using <code class="highlighter-rouge">struts.properties</code>:
      <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>struts.mapper.action.prefix.enabled=true
</code></pre></div>      </div>
    </li>
    <li>or using <code class="highlighter-rouge">struts.xml</code>:
      <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;constant name="struts.mapper.action.prefix.enabled" value="true"/&gt;
</code></pre></div>      </div>
    </li>
  </ul>

  <p>See <a href="https://cwiki.apache.org/confluence/display/WW/S2-018">S2-018</a> for more details.</p>
</blockquote>

<h3 id="method-prefix">Method prefix</h3>

<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="language-xml highlighter-rouge"><div class="highlight"><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></div>

<h3 id="action-prefix">Action prefix</h3>

<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="language-xml highlighter-rouge"><div class="highlight"><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></div>

<h3 id="allowed-action-name-regex">Allowed action name RegEx</h3>

<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>

<h3 id="allowed-method-name-regex">Allowed method name RegEx</h3>

<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>

<p>Please note that this functionality only works when <a href="action-configuration.html#dynamic-method-invocation">Dynamic Method Invocation</a>
is enabled.</p>

<h2 id="custom-actionmapper">Custom ActionMapper</h2>

<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>

<div class="language-xml highlighter-rouge"><div class="highlight"><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>

<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="compositeactionmapper">CompositeActionMapper</h2>

<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>

<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="language-xml highlighter-rouge"><div class="highlight"><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></div>

<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="language-xml highlighter-rouge"><div class="highlight"><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></div>

<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.RestfulActionMapper</code>.</p>

<p><code class="highlighter-rouge">CompositeActionMapper</code> would consult each of them in order described above.</p>

<h2 id="prefixbasedactionmapper">PrefixBasedActionMapper</h2>

<p>A prefix based action mapper that is capable of delegating to other <code class="highlighter-rouge">ActionMapper</code>s based on the request’s prefix.
It is configured through <code class="highlighter-rouge">struts.xml</code>. For example, with the following entries in <code class="highlighter-rouge">struts.xml</code>:</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><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">"prefix"</span><span class="nt">/&gt;</span>

<span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.mapper.prefixMapping"</span> <span class="na">value=</span><span class="s">"
  /communities:pseudoRestful,
  /communityTags:pseudoRestful,
  /events:pseudoRestful,
  /mediaList:pseudoRestful,
  /users:pseudoRestful,
  /community:struts,
  /communityTag:struts,
  /event:struts,
  /media:struts,
  /user:struts,
  :struts
"</span><span class="nt">/&gt;</span>
</code></pre></div></div>
<p>When <code class="highlighter-rouge">PrefixBasedActionMapper#getMapping(HttpServletRequest, ConfigurationManager)</code> or <code class="highlighter-rouge">PrefixBasedActionMapper#getUriFromActionMapping(ActionMapping)</code>
is invoked, <code class="highlighter-rouge">PrefixBasedActionMapper</code> will check each possible prefix (url prefix terminating just before a <code class="highlighter-rouge">/</code>) to find 
the most specific <code class="highlighter-rouge">ActionMapper</code> that returns a mapping when asked to map the request. If none are found, null is returned 
for both <code class="highlighter-rouge">PrefixBasedActionMapper#getMapping(HttpServletRequest, ConfigurationManager)</code> and
<code class="highlighter-rouge">PrefixBasedActionMapper#getUriFromActionMapping(ActionMapping)</code> methods.</p>

<h3 id="prefixbasedactionproxyfactory">PrefixBasedActionProxyFactory</h3>

<p>Prefix based factory should be used with <code class="highlighter-rouge">org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper</code> to use 
appropriate <code class="highlighter-rouge">com.opensymphony.xwork2.ActionProxyFactory</code> connected with given <code class="highlighter-rouge">org.apache.struts2.dispatcher.mapper.ActionMapper</code>.</p>

<p>Add below entry to <code class="highlighter-rouge">struts.xml</code> to enable the factory:</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.actionProxyFactory"</span> <span class="na">value=</span><span class="s">"prefix"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>The factory will use the same set of patterns as defined with:</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.mapper.prefixMapping"</span> <span class="na">value=</span><span class="s">"..."</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<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 <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>

<h2 id="customize">Customize</h2>

<p>Custom ActionMapper must implement ActionMapper interface and have a default constructor.</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><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>

<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">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="nf">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="nf">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></div>

<blockquote>
  <p>See also: <a href="restful-action-mapper.html">RestfulActionMapper</a></p>
</blockquote>

  </section>
</article>


<footer class="container">
  <div class="col-md-12">
    Copyright &copy; 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>
