You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2017/03/31 05:44:40 UTC

svn commit: r1009449 [9/10] - in /websites/production/struts/content: ./ bootstrap/css/ fonts/ getting-started/ getting-started/attachments/

Added: websites/production/struts/content/getting-started/using-tags.html
==============================================================================
--- websites/production/struts/content/getting-started/using-tags.html (added)
+++ websites/production/struts/content/getting-started/using-tags.html Fri Mar 31 05:44:39 2017
@@ -0,0 +1,482 @@
+<!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>Using tags</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">
+
+  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.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="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
+                <li><a href="http://www.apache.org/licenses/">License</a></li>
+                <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
+                <li><a href="http://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="/maven/project-info.html">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="/docs/home.html">Getting started</a></li>
+                <li><a href="/docs/tutorials.html">Tutorials</a></li>
+                <li><a href="/docs/faqs.html">FAQs</a></li>
+                <li><a href="/docs/guides.html">Guides</a></li>
+                <li class="divider"></li>
+                <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li>
+                <li><a href="/docs/plugins.html">Plugin APIs</a></li>
+                <li><a href="/docs/tag-reference.html">Tag reference</a></li>
+                <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</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">
+    <h2 id="using-tags">Using Tags</h2>
+
+<p>This tutorial assumes you’ve completed the <a href="#PAGE_14811871">Hello World</a> tutorial and have a working helloworld project. The example code for this tutorial, using_tags, is available for checkout from the Struts 2 GitHub repository at <a href="https://github.com/apache/struts-examples">https://github.com/apache/struts-examples</a>. The example projects use Maven to manage the artifact dependencies and to build the .war files.</p>
+
+<blockquote>
+
+</blockquote>
+
+<p>In the <a href="#PAGE_14811871">Hello World</a> lesson, we added to the index.jsp a Struts 2 url tag to create a hyperlink to the hello.action. This tutorial will explore the url and other Struts 2 tags further.</p>
+
+<p>Web applications differ from conventional websites in that web applications can create a dynamic response. To make it easier to reference dynamic data from a page, the Struts 2 framework offers a set of tags. Some of the tags mimic standard HTML tag while providing added value. Other tags create non-standard, but useful controls.</p>
+
+<blockquote>
+
+</blockquote>
+
+<blockquote>
+
+</blockquote>
+
+<blockquote>
+  <p>To use the Struts 2 tags on the view page, you must include a tag library directive. Typically, the taglib directive is &lt;%@ taglib prefix=”s” uri=”/struts-tags” %&gt;. So the prefix for all the Struts 2 tags will be “s”.</p>
+</blockquote>
+
+<blockquote>
+  <p>If you want to actually read the Struts 2 tag TLD file, you’ll find it in the META-INF folder of the Struts 2 core jar.</p>
+</blockquote>
+
+<blockquote>
+
+</blockquote>
+
+<p><strong>Struts 2 url Tag</strong></p>
+
+<p>One use of the Struts 2 Tags is to create links to other web resources, especially to other resources in the local application.</p>
+
+<table>
+  <tbody>
+    <tr>
+      <td>While HTML provides a simple a tag for creating hyperlinks, the HTML tag often requires us to include redundant information. Also the HTML tag cannot easily access dynamic data provided by the framework.</td>
+    </tr>
+  </tbody>
+</table>
+
+<table>
+  <tbody>
+    <tr>
+    </tr>
+  </tbody>
+</table>
+
+<p>A very common use case in web applications is linking to other pages. In the <em>Hello World</em>  tutorial we added to index.jsp a link to the hello.action using the Struts 2 url tag. Please refer to the <em>url documentation</em>  for more information about the url tag.</p>
+
+<p><strong>index.jsp</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code><span class="err">&lt;</span>%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%&gt;
+<span class="err">&lt;</span>%@ taglib prefix="s" uri="/struts-tags" %&gt;
+<span class="cp">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;</span>
+<span class="nt">&lt;html&gt;</span>
+<span class="nt">&lt;head&gt;</span>
+<span class="nt">&lt;meta</span> <span class="na">http-equiv=</span><span class="s">"Content-Type"</span> <span class="na">content=</span><span class="s">"text/html; charset=ISO-8859-1"</span><span class="nt">&gt;</span>
+<span class="nt">&lt;title&gt;</span>Basic Struts 2 Application - Welcome<span class="nt">&lt;/title&gt;</span>
+<span class="nt">&lt;/head&gt;</span>
+<span class="nt">&lt;body&gt;</span>
+<span class="nt">&lt;h1&gt;</span>Welcome To Struts 2!<span class="nt">&lt;/h1&gt;</span>
+<span class="nt">&lt;p&gt;&lt;a</span> <span class="na">href=</span><span class="s">"&lt;s:url action='hello'/&gt;"</span><span class="nt">&gt;</span>Hello World<span class="nt">&lt;/a&gt;&lt;/p&gt;</span>
+<span class="nt">&lt;/body&gt;</span>
+<span class="nt">&lt;/html&gt;</span>
+
+</code></pre>
+</div>
+
+<p>When you run the Hello World tutorial in your Servlet container and then mouse over the Hello World hyperlink created by the Struts 2 url tag you’ll see that the URL created is hello.action (relative to the web context’s root folder).</p>
+
+<p>Examine the struts.xml configuration in the Hello World tutorial and you will find this:</p>
+
+<p><strong>struts.xml</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>...
+&lt;action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute"&gt;
+  &lt;result name="success"&gt;/HelloWorld.jsp&lt;/result&gt;
+&lt;/action&gt;
+...
+
+</code></pre>
+</div>
+
+<p>The action node above maps the hello.action to the execute method of class HelloWorldAction. If the execute method returns success, the view page HelloWorld.jsp (in web context root folder) will be returned to the user.</p>
+
+<p>A common use case is that the URL also needs to include a value for a query string parameter such as userName. To add a query string parameter and its value use the Struts 2 param tag, nested inside the url tag.</p>
+
+<p>For the Using Tags tutorial add the following to index.jsp just after the link for Hello World.</p>
+
+<p><strong>url tag with param</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>&lt;s:url action="hello" var="helloLink"&gt;
+  &lt;s:param name="userName"&gt;Bruce Phillips&lt;/s:param&gt;
+&lt;/s:url&gt;
+
+&lt;p&gt;&lt;a href="${helloLink}"&gt;Hello Bruce Phillips&lt;/a&gt;&lt;/p&gt;
+
+
+</code></pre>
+</div>
+
+<p>Rather then put the url tag as the value for the anchor tag’s href attribute, we’ve separated out the s:url tag into its own code block. Nested inside the url tag is the Struts 2 param tag. This tag lets you specify a parameter name (e.g. userName) and a value for that paramter (e.g. Bruce Phillips).</p>
+
+<p>Notice the use of the var attribute. The value of the var attribute is a reference we can use later in our code to refer to the url created.</p>
+
+<p>Examine the anchor tag above. Notice the value of the href attribute is ${helloLink}. The view page will substitute the hyperlink we created using the url tag for the ${helloLink} reference. Note that the query string parameter will be properly URL-encoded (Bruce+Phillips).</p>
+
+<blockquote>
+
+</blockquote>
+
+<blockquote>
+
+</blockquote>
+
+<blockquote>
+  <p>In the next tutorial we’ll cover how Struts can access the query string parameter value.</p>
+</blockquote>
+
+<blockquote>
+
+</blockquote>
+
+<p><strong>Struts 2 Form Tags</strong></p>
+
+<p>Most applications will use several data entry forms. The Struts 2 tags make creating input forms easy. Consult the <em>Form Tags Reference</em>  for all the details about the Struts 2 form tags.</p>
+
+<p>Each of the Struts 2 form tags has numerous attributes to mimic the normal HTML form tag attributes.</p>
+
+<p>To create the outer shell of the form, use the Struts 2 form tag. The action attribute sets the action name to submit to.</p>
+
+<p>Add the following markup to index.jsp after the Hello Bruce Phillips link.</p>
+
+<p><strong>Struts 2 Form</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>&lt;p&gt;Get your own personal hello by filling out and submitting this form.&lt;/p&gt;
+
+&lt;s:form action="hello"&gt;
+
+  &lt;s:textfield name="userName" label="Your name" /&gt;
+	
+   &lt;s:submit value="Submit" /&gt;
+
+&lt;/s:form&gt;
+
+
+
+</code></pre>
+</div>
+
+<p>The Struts 2 <em>textfield</em>  tag provides a input html tag of tag text and the submit tag creates a submit button. When the index page is return by the server to the browser you should see:</p>
+
+<p><img src="attachments/att14974996_Struts Form.png" alt="Struts Form.png" /></p>
+
+<p>The Struts form, textfield, and submit tags were converted to this HTML.</p>
+
+<p><strong>Struts Form Tags Converted To HTML</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>&lt;form id="hello" name="hello" action="/Using_Tags_Struts2_Mvn/hello.action;jsessionid=3471d76027b5342cab44f297b567" method="post"&gt;
+
+&lt;table class="wwFormTable"&gt;
+
+&lt;tr&gt;
+    &lt;td class="tdLabel"&gt;&lt;label for="hello_userName" class="label"&gt;Your name:&lt;/label&gt;&lt;/td&gt;
+    &lt;td&gt;&lt;input type="text" name="userName" value="" id="hello_userName"/&gt;&lt;/td&gt;
+&lt;/tr&gt;
+
+&lt;tr&gt;
+    &lt;td colspan="2"&gt;&lt;div align="right"&gt;&lt;input type="submit" id="hello_0" value="Submit"/&gt;
+&lt;/div&gt;&lt;/td&gt;
+&lt;/tr&gt;
+
+&lt;/table&gt;
+&lt;/form&gt;
+
+
+
+</code></pre>
+</div>
+
+<p>Note how Struts 2 created a table inside the form to position the form elements. In later tutorials you’ll learn how to specify the layout (table, CSS). The Struts 2 textfield tag created an HTML input tag of type text with a name value that matches the name value of the textfield tag. Struts 2 also created a label HTML tag based on the label value of the textfield tag.</p>
+
+<blockquote>
+
+</blockquote>
+
+<blockquote>
+
+</blockquote>
+
+<blockquote>
+  <p>In the next tutorial we’ll cover how to use Struts 2 to process this form submission.</p>
+</blockquote>
+
+<blockquote>
+
+</blockquote>
+
+<p><strong>Struts 2 property tag</strong></p>
+
+<p>In the <a href="#PAGE_14811871">Hello World</a> tutorial’s example application on JSP HelloWorld.jsp was this code:</p>
+
+<p><strong>Struts Property Tag</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>&lt;s:property value="messageStore.message" /&gt;
+
+
+</code></pre>
+</div>
+
+<p>The most common use of the <em>property</em>  tag is used to “get” the value returned by calling a public get method (of the Action class) and then to include that value in the HTML returned to the browser.</p>
+
+<p>As discussed in the <a href="#PAGE_14811871">Hello World</a> tutorial, the value of “messageStore.message” instructs Struts 2 to first call method getMessageStore of the Action class. That method call returns a MessageStore object. The “.message” part instructs Struts 2 to call the getMessage method of the MessageStore object. The getMessage method returns a String which will be included in the HTML returned to the browser.</p>
+
+<p>One very useful feature of the Struts 2 property tag is that it will automatically convert the most common data types (int, double, boolean) to their String equivalents. To demonstrate this feature let’s add a static int variable to class HelloWorldAction.</p>
+
+<p><strong>Add Static Field</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>private static int helloCount = 0;
+	
+public int getHelloCount() {
+	return helloCount;
+}
+
+public void setHelloCount(int helloCount) {
+	HelloWorldAction.helloCount = helloCount;
+}
+
+</code></pre>
+</div>
+
+<p>Each time the execute method is called we’ll increase helloCount by 1. So add this code to the execute method of class HelloWorldAction.</p>
+
+<p><strong>Increase helloCount</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>helloCount++;
+
+
+</code></pre>
+</div>
+
+<p>Whenever a user clicks one of the links on page index.jsp (or submits the form), method execute of class HelloWorldAction will be run and the static field helloCount will be increased by one.</p>
+
+<p>To include the value of the helloCount attribute in the HelloWorld.jsp we can use the Struts 2 property tag. Add the following to HelloWorld.jsp after the h2 tag.</p>
+
+<p><strong>Use Property Tag To Display helloCount Value</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>&lt;p&gt;I've said hello &lt;s:property value="helloCount" /&gt; times!&lt;/p&gt;
+
+
+</code></pre>
+</div>
+
+<p>So even though the getHelloCount method returns an integer type, Struts 2 converted it to type String and placed it into the body of the p tag.</p>
+
+<table>
+  <tbody>
+    <tr>
+      <td>Note that even though helloCount is a static field, the get and set methods for helloCount are not static. For Struts 2 to call the getHelloCount method to get the value of helloCount, the getHelloCount method cannot be static.</td>
+    </tr>
+  </tbody>
+</table>
+
+<table>
+  <tbody>
+    <tr>
+    </tr>
+  </tbody>
+</table>
+
+<p>If the value returned by the get method is an object, then the property tag will cause Struts 2 to call the object’s toString method. Of course, you should always override Class Object’s toString method in your model classes. Add the following toString method to the MessageStore class:</p>
+
+<p><strong>Add toString Method To Class MessageStore</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>public String toString() {
+		
+	return message + " (from toString)";
+		
+}	
+
+
+</code></pre>
+</div>
+
+<p>Add the following to HelloWorld.jsp</p>
+
+<p><strong>Using Property Tag to Call toString</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>&lt;p&gt;&lt;s:property value="messageStore" /&gt;&lt;/p&gt;
+
+
+</code></pre>
+</div>
+
+<p>Since getMessageStore of HelloWorldAction class returns a MessageStore object, Struts 2 will call the toString method of class MessageStore. The string returned by that toString method will be displayed in the browser.</p>
+
+<p><img src="attachments/att14974995_displaymessagestore.png" alt="displaymessagestore.png" /></p>
+
+<p>We covered a lot in this tutorial, but we’ve really only scratched the surface of how to use the Struts 2 tags. Consult the <em>Struts 2 Tag Reference</em>  for much more information about all the Struts 2 tags.</p>
+
+  </section>
+</article>
+
+
+<footer class="container">
+  <div class="col-md-12">
+    Copyright &copy; 2000-2016 <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>
+
+
+<script>
+$(function() {
+  return $("h2, h3, h4, h5, h6").each(function(i, el) {
+    var $el, icon, id;
+    $el = $(el);
+    id = $el.attr('id');
+    icon = '<i class="fa fa-link"></i>';
+    if (id) {
+      return $el.prepend($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));
+    }
+  });
+});
+</script>
+
+</body>
+</html>

Added: websites/production/struts/content/getting-started/wildcard-method-selection.html
==============================================================================
--- websites/production/struts/content/getting-started/wildcard-method-selection.html (added)
+++ websites/production/struts/content/getting-started/wildcard-method-selection.html Fri Mar 31 05:44:39 2017
@@ -0,0 +1,271 @@
+<!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>Wildcard Method Selection</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">
+
+  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.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="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
+                <li><a href="http://www.apache.org/licenses/">License</a></li>
+                <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
+                <li><a href="http://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="/maven/project-info.html">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="/docs/home.html">Getting started</a></li>
+                <li><a href="/docs/tutorials.html">Tutorials</a></li>
+                <li><a href="/docs/faqs.html">FAQs</a></li>
+                <li><a href="/docs/guides.html">Guides</a></li>
+                <li class="divider"></li>
+                <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li>
+                <li><a href="/docs/plugins.html">Plugin APIs</a></li>
+                <li><a href="/docs/tag-reference.html">Tag reference</a></li>
+                <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</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">
+    <h2 id="wildcard-method-selection">Wildcard Method Selection</h2>
+
+<p>The example code for this tutorial, wildcard_method_selection, is available for checkout at <a href="https://github.com/apache/struts-examples">https://github.com/apache/struts-examples</a></p>
+
+<blockquote>
+
+</blockquote>
+
+<p>#####Introduction#####</p>
+
+<p>In this tutorial we’ll cover how to configure an action node in the struts.xml configuration file so that one action node can be used to relate several different Action URLs to specific methods of the Action class. This will reduce the number of action nodes we must write in the struts.xml configuration file.</p>
+
+<table>
+  <tbody>
+    <tr>
+      <td>The <a href="http://struts.apache.org/mail.html">Struts 2 user mailing list</a>^[http://struts.apache.org/mail.html] is an excellent place to get help. If you are having a problem getting the tutorial example applications to work search the Struts 2 mailing list. If you don’t find an answer to your problem, post a question on the mailing list.</td>
+    </tr>
+  </tbody>
+</table>
+
+<table>
+  <tbody>
+    <tr>
+    </tr>
+  </tbody>
+</table>
+
+<p>#####Example Application#####</p>
+
+<p><img src="attachments/att21921805_Screen shot 2010-05-30 at 8.51.40 AM.png" alt="Screen shot 2010-05-30 at 8.51.40 AM.png" /></p>
+
+<p>The example application that supports this tutorial shows how to use Struts 2’s wildcard method selection methodology. The example application is just a simple one that lists some people and lets you edit them, delete them, and add a new person to the list. Everything that the application needs to do with a Person (the model class) is controlled by the Struts 2 ActionSupport class PersonAction. The PersonAction class has several different methods (e.g. create, edit, delete) that are called depending on what the user wants to do.</p>
+
+<p>#####Wildcard Method Selection#####</p>
+
+<p>Without using the wildcard method selection technique, I’d have to write an action mapping node in the Struts 2 configuration file for each separate action I’d want to call. For example:</p>
+
+<p><strong>Struts.xml Action Configuration</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>&lt;action name="createPerson" class="org.apache.struts.tutorials.wildcardmethod.action.PersonAction" method="create"&gt;
+  &lt;result name="input"&gt;input.jsp&lt;/result&gt;
+  &lt;result name="success"&gt;view.jsp&lt;/result&gt;
+&lt;/action&gt;
+
+&lt;action name="editPerson" class="org.apache.struts.tutorials.wildcardmethod.action.PersonAction" method="edit"&gt;
+  &lt;result name="input"&gt;input.jsp&lt;/result&gt;
+  &lt;result name="success"&gt;view.jsp&lt;/result&gt;
+&lt;/action&gt;
+
+
+</code></pre>
+</div>
+
+<p>So even for this simple application, I’d have to write four separate action mapping nodes (create, edit, delete, saveOrUpdate) in the configuration file. So you can easily see that a more complex application can have dozens of action mapping nodes.</p>
+
+<p>To implement the wildcard method selection technique to enable the Struts 2 framework to dynamically select the correct method to call at runtime you just need to use the wildcard character, *, in your name value and an attribute value place holder ( {1} ) for the method value. For example:</p>
+
+<p><strong>Struts.xml Action Configuration Using Wildcard Method Selection</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>&lt;action name="*Person" class="org.apache.struts.tutorials.wildcardmethod.action.PersonAction" method="{1}"&gt;
+  &lt;result name="success"&gt;view.jsp&lt;/result&gt;
+  &lt;result name="input"&gt;input.jsp&lt;/result&gt;
+&lt;/action&gt;
+
+
+</code></pre>
+</div>
+
+<p>The * is the wildcard character. Any action name values that end in “Person” will be handled by this action mapping. Whatever value is before “Person” will be the value used for the method attribute (the {1} place holder will be replaced with that value). For example this URL:</p>
+
+<p><a href="http://localhost:8080/wildcard-method-selection/createPerson.action">http://localhost:8080/wildcard-method-selection/createPerson.action</a></p>
+
+<p>will be be processed by the the above action mapping and method create of class PersonAction will be called. While this URL</p>
+
+<p><a href="http://localhost:8080/wildcard-method-selection/deletePerson.action">http://localhost:8080/wildcard-method-selection/deletePerson.action</a></p>
+
+<p>will cause the delete method of class PersonAction to be called.</p>
+
+<p>What happens if we have a URL with nothing in front of Person? For example:</p>
+
+<p><a href="http://localhost:8080/wildcard-method-selection/Person.action">http://localhost:8080/wildcard-method-selection/Person.action</a></p>
+
+<p>If there is no value in front of Person, then the Struts 2 framework will call the execute method of the class PersonAction.</p>
+
+<p>#####Dynamic Method Invocation#####</p>
+
+<p>The wildcard method selection technique explained above should not be confused with the “Dynamic Method Invocation” technique. The Struts 2 documentation explains this technique (which uses the bang, !, operator in the action name) and recommends against using the “Dynamic Method Invocation” technique due to security and other reasons related to how this technique is implemented internally.</p>
+
+<p>The Struts 2 documentation also recommends turning off the option to use the dynamic method invocation by setting struts.enable.DynamicMethodInvocation to FALSE in the Struts configuration.</p>
+
+<p>#####Summary#####</p>
+
+<p>By using the wildcard method selection technique explained above, you can significantly reduce the number of action mapping nodes you need to write and manage in the Struts 2 XML configuration file.</p>
+
+  </section>
+</article>
+
+
+<footer class="container">
+  <div class="col-md-12">
+    Copyright &copy; 2000-2016 <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>
+
+
+<script>
+$(function() {
+  return $("h2, h3, h4, h5, h6").each(function(i, el) {
+    var $el, icon, id;
+    $el = $(el);
+    id = $el.attr('id');
+    icon = '<i class="fa fa-link"></i>';
+    if (id) {
+      return $el.prepend($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));
+    }
+  });
+});
+</script>
+
+</body>
+</html>

Modified: websites/production/struts/content/helping.html
==============================================================================
--- websites/production/struts/content/helping.html (original)
+++ websites/production/struts/content/helping.html Fri Mar 31 05:44:39 2017
@@ -11,12 +11,12 @@
 
   <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="/css/main.css" rel="stylesheet">
+  <link href="/css/custom.css" rel="stylesheet">
 
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
-  <script type="text/javascript" src="js/community.js"></script>
+  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="/js/community.js"></script>
 </head>
 <body>
 
@@ -36,7 +36,7 @@
             <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>
+          <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">
@@ -45,9 +45,9 @@
                 Home<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="index.html">Welcome</a></li>
-                <li><a href="downloads.html">Downloads</a></li>
-                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="/index.html">Welcome</a></li>
+                <li><a href="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
                 <li><a href="http://www.apache.org/licenses/">License</a></li>
                 <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
                 <li><a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a></li>
@@ -58,9 +58,9 @@
                 Support<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="mail.html">User Mailing List</a></li>
+                <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><a href="/security.html">Reporting Security Issues</a></li>
                 <li class="divider"></li>
                 <li><a href="/maven/project-info.html">Project info</a></li>
                 <li><a href="/maven/struts2-core/dependencies.html">Struts Core dependencies</a></li>
@@ -72,9 +72,9 @@
                 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="/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="/docs/home.html">Getting started</a></li>
@@ -86,6 +86,8 @@
                 <li><a href="/docs/plugins.html">Plugin APIs</a></li>
                 <li><a href="/docs/tag-reference.html">Tag reference</a></li>
                 <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -93,21 +95,21 @@
                 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 class="divider"></li>
-                <li><a href="submitting-patches.html">Submitting patches</a></li>
-                <li><a href="builds.html">Source Code</a></li>
-                <li><a href="coding-standards.html">Coding standards</a></li>
-                <li class="divider"></li>
-                <li><a href="releases.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="/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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
               </ul>
             </li>
-            <li class="apache"><a href="http://www.apache.org/"><img src="img/apache.png"></a></li>
+            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
           </ul>
         </div>
       </div>

Modified: websites/production/struts/content/index.html
==============================================================================
--- websites/production/struts/content/index.html (original)
+++ websites/production/struts/content/index.html Fri Mar 31 05:44:39 2017
@@ -11,11 +11,11 @@
 
   <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/main.css" rel="stylesheet">
 
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
-  <script type="text/javascript" src="js/community.js"></script>
+  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="/js/community.js"></script>
 </head>
 <body>
 
@@ -35,7 +35,7 @@
             <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>
+          <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">
@@ -44,9 +44,9 @@
                 Home<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="index.html">Welcome</a></li>
-                <li><a href="downloads.html">Downloads</a></li>
-                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="/index.html">Welcome</a></li>
+                <li><a href="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
                 <li><a href="http://www.apache.org/licenses/">License</a></li>
                 <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
                 <li><a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a></li>
@@ -57,9 +57,9 @@
                 Support<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="mail.html">User Mailing List</a></li>
+                <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><a href="/security.html">Reporting Security Issues</a></li>
                 <li class="divider"></li>
                 <li><a href="/maven/project-info.html">Project info</a></li>
                 <li><a href="/maven/struts2-core/dependencies.html">Struts Core dependencies</a></li>
@@ -71,9 +71,9 @@
                 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="/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="/docs/home.html">Getting started</a></li>
@@ -85,6 +85,8 @@
                 <li><a href="/docs/plugins.html">Plugin APIs</a></li>
                 <li><a href="/docs/tag-reference.html">Tag reference</a></li>
                 <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -92,21 +94,21 @@
                 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 class="divider"></li>
-                <li><a href="submitting-patches.html">Submitting patches</a></li>
-                <li><a href="builds.html">Source Code</a></li>
-                <li><a href="coding-standards.html">Coding standards</a></li>
-                <li class="divider"></li>
-                <li><a href="releases.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="/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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
               </ul>
             </li>
-            <li class="apache"><a href="http://www.apache.org/"><img src="img/apache.png"></a></li>
+            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
           </ul>
         </div>
       </div>
@@ -125,7 +127,7 @@
       extensible using a plugin architecture, and ships with plugins to support
       REST, AJAX and JSON.
     </p>
-    <a href="/download.cgi#struts25101" class="btn btn-primary btn-large">
+    <a href="download.cgi#struts25101" class="btn btn-primary btn-large">
       <img src="img/download-icon.svg"> Download
     </a>
     <a href="primer.html" class="btn btn-info btn-large">

Modified: websites/production/struts/content/kickstart.html
==============================================================================
--- websites/production/struts/content/kickstart.html (original)
+++ websites/production/struts/content/kickstart.html Fri Mar 31 05:44:39 2017
@@ -11,12 +11,12 @@
 
   <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="/css/main.css" rel="stylesheet">
+  <link href="/css/custom.css" rel="stylesheet">
 
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
-  <script type="text/javascript" src="js/community.js"></script>
+  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="/js/community.js"></script>
 </head>
 <body>
 
@@ -36,7 +36,7 @@
             <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>
+          <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">
@@ -45,9 +45,9 @@
                 Home<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="index.html">Welcome</a></li>
-                <li><a href="downloads.html">Downloads</a></li>
-                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="/index.html">Welcome</a></li>
+                <li><a href="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
                 <li><a href="http://www.apache.org/licenses/">License</a></li>
                 <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
                 <li><a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a></li>
@@ -58,9 +58,9 @@
                 Support<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="mail.html">User Mailing List</a></li>
+                <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><a href="/security.html">Reporting Security Issues</a></li>
                 <li class="divider"></li>
                 <li><a href="/maven/project-info.html">Project info</a></li>
                 <li><a href="/maven/struts2-core/dependencies.html">Struts Core dependencies</a></li>
@@ -72,9 +72,9 @@
                 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="/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="/docs/home.html">Getting started</a></li>
@@ -86,6 +86,8 @@
                 <li><a href="/docs/plugins.html">Plugin APIs</a></li>
                 <li><a href="/docs/tag-reference.html">Tag reference</a></li>
                 <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -93,21 +95,21 @@
                 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 class="divider"></li>
-                <li><a href="submitting-patches.html">Submitting patches</a></li>
-                <li><a href="builds.html">Source Code</a></li>
-                <li><a href="coding-standards.html">Coding standards</a></li>
-                <li class="divider"></li>
-                <li><a href="releases.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="/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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
               </ul>
             </li>
-            <li class="apache"><a href="http://www.apache.org/"><img src="img/apache.png"></a></li>
+            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
           </ul>
         </div>
       </div>

Modified: websites/production/struts/content/mail.html
==============================================================================
--- websites/production/struts/content/mail.html (original)
+++ websites/production/struts/content/mail.html Fri Mar 31 05:44:39 2017
@@ -11,12 +11,12 @@
 
   <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="/css/main.css" rel="stylesheet">
+  <link href="/css/custom.css" rel="stylesheet">
 
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
-  <script type="text/javascript" src="js/community.js"></script>
+  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="/js/community.js"></script>
 </head>
 <body>
 
@@ -36,7 +36,7 @@
             <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>
+          <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">
@@ -45,9 +45,9 @@
                 Home<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="index.html">Welcome</a></li>
-                <li><a href="downloads.html">Downloads</a></li>
-                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="/index.html">Welcome</a></li>
+                <li><a href="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
                 <li><a href="http://www.apache.org/licenses/">License</a></li>
                 <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
                 <li><a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a></li>
@@ -58,9 +58,9 @@
                 Support<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="mail.html">User Mailing List</a></li>
+                <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><a href="/security.html">Reporting Security Issues</a></li>
                 <li class="divider"></li>
                 <li><a href="/maven/project-info.html">Project info</a></li>
                 <li><a href="/maven/struts2-core/dependencies.html">Struts Core dependencies</a></li>
@@ -72,9 +72,9 @@
                 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="/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="/docs/home.html">Getting started</a></li>
@@ -86,6 +86,8 @@
                 <li><a href="/docs/plugins.html">Plugin APIs</a></li>
                 <li><a href="/docs/tag-reference.html">Tag reference</a></li>
                 <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -93,21 +95,21 @@
                 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 class="divider"></li>
-                <li><a href="submitting-patches.html">Submitting patches</a></li>
-                <li><a href="builds.html">Source Code</a></li>
-                <li><a href="coding-standards.html">Coding standards</a></li>
-                <li class="divider"></li>
-                <li><a href="releases.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="/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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
               </ul>
             </li>
-            <li class="apache"><a href="http://www.apache.org/"><img src="img/apache.png"></a></li>
+            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
           </ul>
         </div>
       </div>

Modified: websites/production/struts/content/primer.html
==============================================================================
--- websites/production/struts/content/primer.html (original)
+++ websites/production/struts/content/primer.html Fri Mar 31 05:44:39 2017
@@ -11,12 +11,12 @@
 
   <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="/css/main.css" rel="stylesheet">
+  <link href="/css/custom.css" rel="stylesheet">
 
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
-  <script type="text/javascript" src="js/community.js"></script>
+  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="/js/community.js"></script>
 </head>
 <body>
 
@@ -36,7 +36,7 @@
             <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>
+          <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">
@@ -45,9 +45,9 @@
                 Home<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="index.html">Welcome</a></li>
-                <li><a href="downloads.html">Downloads</a></li>
-                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="/index.html">Welcome</a></li>
+                <li><a href="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
                 <li><a href="http://www.apache.org/licenses/">License</a></li>
                 <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
                 <li><a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a></li>
@@ -58,9 +58,9 @@
                 Support<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="mail.html">User Mailing List</a></li>
+                <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><a href="/security.html">Reporting Security Issues</a></li>
                 <li class="divider"></li>
                 <li><a href="/maven/project-info.html">Project info</a></li>
                 <li><a href="/maven/struts2-core/dependencies.html">Struts Core dependencies</a></li>
@@ -72,9 +72,9 @@
                 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="/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="/docs/home.html">Getting started</a></li>
@@ -86,6 +86,8 @@
                 <li><a href="/docs/plugins.html">Plugin APIs</a></li>
                 <li><a href="/docs/tag-reference.html">Tag reference</a></li>
                 <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -93,21 +95,21 @@
                 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 class="divider"></li>
-                <li><a href="submitting-patches.html">Submitting patches</a></li>
-                <li><a href="builds.html">Source Code</a></li>
-                <li><a href="coding-standards.html">Coding standards</a></li>
-                <li class="divider"></li>
-                <li><a href="releases.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="/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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
               </ul>
             </li>
-            <li class="apache"><a href="http://www.apache.org/"><img src="img/apache.png"></a></li>
+            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
           </ul>
         </div>
       </div>

Modified: websites/production/struts/content/releases.html
==============================================================================
--- websites/production/struts/content/releases.html (original)
+++ websites/production/struts/content/releases.html Fri Mar 31 05:44:39 2017
@@ -11,12 +11,12 @@
 
   <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="/css/main.css" rel="stylesheet">
+  <link href="/css/custom.css" rel="stylesheet">
 
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
-  <script type="text/javascript" src="js/community.js"></script>
+  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="/js/community.js"></script>
 </head>
 <body>
 
@@ -36,7 +36,7 @@
             <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>
+          <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">
@@ -45,9 +45,9 @@
                 Home<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="index.html">Welcome</a></li>
-                <li><a href="downloads.html">Downloads</a></li>
-                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="/index.html">Welcome</a></li>
+                <li><a href="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
                 <li><a href="http://www.apache.org/licenses/">License</a></li>
                 <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
                 <li><a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a></li>
@@ -58,9 +58,9 @@
                 Support<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="mail.html">User Mailing List</a></li>
+                <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><a href="/security.html">Reporting Security Issues</a></li>
                 <li class="divider"></li>
                 <li><a href="/maven/project-info.html">Project info</a></li>
                 <li><a href="/maven/struts2-core/dependencies.html">Struts Core dependencies</a></li>
@@ -72,9 +72,9 @@
                 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="/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="/docs/home.html">Getting started</a></li>
@@ -86,6 +86,8 @@
                 <li><a href="/docs/plugins.html">Plugin APIs</a></li>
                 <li><a href="/docs/tag-reference.html">Tag reference</a></li>
                 <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -93,21 +95,21 @@
                 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 class="divider"></li>
-                <li><a href="submitting-patches.html">Submitting patches</a></li>
-                <li><a href="builds.html">Source Code</a></li>
-                <li><a href="coding-standards.html">Coding standards</a></li>
-                <li class="divider"></li>
-                <li><a href="releases.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="/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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
               </ul>
             </li>
-            <li class="apache"><a href="http://www.apache.org/"><img src="img/apache.png"></a></li>
+            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
           </ul>
         </div>
       </div>

Modified: websites/production/struts/content/security.html
==============================================================================
--- websites/production/struts/content/security.html (original)
+++ websites/production/struts/content/security.html Fri Mar 31 05:44:39 2017
@@ -11,12 +11,12 @@
 
   <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="/css/main.css" rel="stylesheet">
+  <link href="/css/custom.css" rel="stylesheet">
 
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
-  <script type="text/javascript" src="js/community.js"></script>
+  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="/js/community.js"></script>
 </head>
 <body>
 
@@ -36,7 +36,7 @@
             <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>
+          <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">
@@ -45,9 +45,9 @@
                 Home<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="index.html">Welcome</a></li>
-                <li><a href="downloads.html">Downloads</a></li>
-                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="/index.html">Welcome</a></li>
+                <li><a href="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
                 <li><a href="http://www.apache.org/licenses/">License</a></li>
                 <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
                 <li><a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a></li>
@@ -58,9 +58,9 @@
                 Support<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="mail.html">User Mailing List</a></li>
+                <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><a href="/security.html">Reporting Security Issues</a></li>
                 <li class="divider"></li>
                 <li><a href="/maven/project-info.html">Project info</a></li>
                 <li><a href="/maven/struts2-core/dependencies.html">Struts Core dependencies</a></li>
@@ -72,9 +72,9 @@
                 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="/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="/docs/home.html">Getting started</a></li>
@@ -86,6 +86,8 @@
                 <li><a href="/docs/plugins.html">Plugin APIs</a></li>
                 <li><a href="/docs/tag-reference.html">Tag reference</a></li>
                 <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -93,21 +95,21 @@
                 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 class="divider"></li>
-                <li><a href="submitting-patches.html">Submitting patches</a></li>
-                <li><a href="builds.html">Source Code</a></li>
-                <li><a href="coding-standards.html">Coding standards</a></li>
-                <li class="divider"></li>
-                <li><a href="releases.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="/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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
               </ul>
             </li>
-            <li class="apache"><a href="http://www.apache.org/"><img src="img/apache.png"></a></li>
+            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
           </ul>
         </div>
       </div>

Modified: websites/production/struts/content/struts1eol-announcement.html
==============================================================================
--- websites/production/struts/content/struts1eol-announcement.html (original)
+++ websites/production/struts/content/struts1eol-announcement.html Fri Mar 31 05:44:39 2017
@@ -11,12 +11,12 @@
 
   <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="/css/main.css" rel="stylesheet">
+  <link href="/css/custom.css" rel="stylesheet">
 
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
-  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
-  <script type="text/javascript" src="js/community.js"></script>
+  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="/js/community.js"></script>
 </head>
 <body>
 
@@ -36,7 +36,7 @@
             <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>
+          <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">
@@ -45,9 +45,9 @@
                 Home<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="index.html">Welcome</a></li>
-                <li><a href="downloads.html">Downloads</a></li>
-                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="/index.html">Welcome</a></li>
+                <li><a href="/downloads.html">Downloads</a></li>
+                <li><a href="/announce.html">Announcements</a></li>
                 <li><a href="http://www.apache.org/licenses/">License</a></li>
                 <li><a href="http://apache.org/foundation/thanks.html">Thanks!</a></li>
                 <li><a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a></li>
@@ -58,9 +58,9 @@
                 Support<b class="caret"></b>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="mail.html">User Mailing List</a></li>
+                <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><a href="/security.html">Reporting Security Issues</a></li>
                 <li class="divider"></li>
                 <li><a href="/maven/project-info.html">Project info</a></li>
                 <li><a href="/maven/struts2-core/dependencies.html">Struts Core dependencies</a></li>
@@ -72,9 +72,9 @@
                 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="/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="/docs/home.html">Getting started</a></li>
@@ -86,6 +86,8 @@
                 <li><a href="/docs/plugins.html">Plugin APIs</a></li>
                 <li><a href="/docs/tag-reference.html">Tag reference</a></li>
                 <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
+                <li class="divider"></li>
+                <li><a href="/getting-started/getting-started.html">Getting Started (WIP)</a></li>
               </ul>
             </li>
             <li class="dropdown">
@@ -93,21 +95,21 @@
                 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 class="divider"></li>
-                <li><a href="submitting-patches.html">Submitting patches</a></li>
-                <li><a href="builds.html">Source Code</a></li>
-                <li><a href="coding-standards.html">Coding standards</a></li>
-                <li class="divider"></li>
-                <li><a href="releases.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="/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 class="divider"></li>
+                <li><a href="/submitting-patches.html">Submitting patches</a></li>
+                <li><a href="/builds.html">Source Code</a></li>
+                <li><a href="/coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="/releases.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://git-wip-us.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
               </ul>
             </li>
-            <li class="apache"><a href="http://www.apache.org/"><img src="img/apache.png"></a></li>
+            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
           </ul>
         </div>
       </div>