Modified: websites/production/struts/content/docs/security-bulletins.html
==============================================================================
--- websites/production/struts/content/docs/security-bulletins.html (original)
+++ websites/production/struts/content/docs/security-bulletins.html Mon Feb 29 
19:38:05 2016
@@ -126,7 +126,7 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p>The following security bulletins 
are available:</p>
-<ul class="childpages-macro"><li><a shape="rect" href="s2-001.html">S2-001</a> 
&#8212; <span class="smalltext">Remote code exploit on form validation 
error</span></li><li><a shape="rect" href="s2-002.html">S2-002</a> &#8212; 
<span class="smalltext">Cross site scripting (XSS) vulnerability on 
&lt;s:url&gt; and &lt;s:a&gt; tags</span></li><li><a shape="rect" 
href="s2-003.html">S2-003</a> &#8212; <span class="smalltext">XWork 
ParameterInterceptors bypass allows OGNL statement execution</span></li><li><a 
shape="rect" href="s2-004.html">S2-004</a> &#8212; <span 
class="smalltext">Directory traversal vulnerability while serving static 
content</span></li><li><a shape="rect" href="s2-005.html">S2-005</a> &#8212; 
<span class="smalltext">XWork ParameterInterceptors bypass allows remote 
command execution</span></li><li><a shape="rect" href="s2-006.html">S2-006</a> 
&#8212; <span class="smalltext">Multiple Cross-Site Scripting (XSS) in XWork 
generated error pages</span></li><li><a shape="rect" hr
 ef="s2-007.html">S2-007</a> &#8212; <span class="smalltext">User input is 
evaluated as an OGNL expression when there's a conversion 
error</span></li><li><a shape="rect" href="s2-008.html">S2-008</a> &#8212; 
<span class="smalltext">Multiple critical vulnerabilities in 
Struts2</span></li><li><a shape="rect" href="s2-009.html">S2-009</a> &#8212; 
<span class="smalltext">ParameterInterceptor vulnerability allows remote 
command execution</span></li><li><a shape="rect" href="s2-010.html">S2-010</a> 
&#8212; <span class="smalltext">When using Struts 2 token mechanism for CSRF 
protection, token check may be bypassed by misusing known session 
attributes</span></li><li><a shape="rect" href="s2-011.html">S2-011</a> &#8212; 
<span class="smalltext">Long request parameter names might significantly 
promote the effectiveness of DOS attacks</span></li><li><a shape="rect" 
href="s2-012.html">S2-012</a> &#8212; <span class="smalltext">Showcase app 
vulnerability allows remote command execution</span></li>
 <li><a shape="rect" href="s2-013.html">S2-013</a> &#8212; <span 
class="smalltext">A vulnerability, present in the includeParams attribute of 
the URL and Anchor Tag, allows remote command execution</span></li><li><a 
shape="rect" href="s2-014.html">S2-014</a> &#8212; <span class="smalltext">A 
vulnerability introduced by forcing parameter inclusion in the URL and Anchor 
Tag allows remote command execution, session access and manipulation and XSS 
attacks</span></li><li><a shape="rect" href="s2-015.html">S2-015</a> &#8212; 
<span class="smalltext">A vulnerability introduced by wildcard matching 
mechanism or double evaluation of OGNL Expression allows remote command 
execution.</span></li><li><a shape="rect" href="s2-016.html">S2-016</a> &#8212; 
<span class="smalltext">A vulnerability introduced by manipulating parameters 
prefixed with "action:"/"redirect:"/"redirectAction:" allows remote command 
execution</span></li><li><a shape="rect" href="s2-017.html">S2-017</a> &#8212; 
<span class="sma
 lltext">A vulnerability introduced by manipulating parameters prefixed with 
"redirect:"/"redirectAction:" allows for open redirects</span></li><li><a 
shape="rect" href="s2-018.html">S2-018</a> &#8212; <span 
class="smalltext">Broken Access Control Vulnerability in Apache 
Struts2</span></li><li><a shape="rect" href="s2-019.html">S2-019</a> &#8212; 
<span class="smalltext">Dynamic Method Invocation disabled by 
default</span></li><li><a shape="rect" href="s2-020.html">S2-020</a> &#8212; 
<span class="smalltext">Upgrade Commons FileUpload to version 1.3.1 (avoids DoS 
attacks) and adds 'class' to exclude params in ParametersInterceptor (avoid 
ClassLoader manipulation)</span></li><li><a shape="rect" 
href="s2-021.html">S2-021</a> &#8212; <span class="smalltext">Improves excluded 
params in ParametersInterceptor and CookieInterceptor to avoid ClassLoader 
manipulation</span></li><li><a shape="rect" href="s2-022.html">S2-022</a> 
&#8212; <span class="smalltext">Extends excluded params in CookieInt
 erceptor to avoid manipulation of Struts' internals</span></li><li><a 
shape="rect" href="s2-023.html">S2-023</a> &#8212; <span 
class="smalltext">Generated value of token can be predictable</span></li><li><a 
shape="rect" href="s2-024.html">S2-024</a> &#8212; <span 
class="smalltext">Wrong excludeParams overrides those defined in 
DefaultExcludedPatternsChecker</span></li><li><a shape="rect" 
href="s2-025.html">S2-025</a> &#8212; <span class="smalltext">Cross-Site 
Scripting Vulnerability in Debug Mode and in exposed JSP 
files</span></li><li><a shape="rect" href="s2-026.html">S2-026</a> &#8212; 
<span class="smalltext">Special top object can be used to access Struts' 
internals</span></li></ul></div>
+<ul class="childpages-macro"><li><a shape="rect" href="s2-001.html">S2-001</a> 
&#8212; <span class="smalltext">Remote code exploit on form validation 
error</span></li><li><a shape="rect" href="s2-002.html">S2-002</a> &#8212; 
<span class="smalltext">Cross site scripting (XSS) vulnerability on 
&lt;s:url&gt; and &lt;s:a&gt; tags</span></li><li><a shape="rect" 
href="s2-003.html">S2-003</a> &#8212; <span class="smalltext">XWork 
ParameterInterceptors bypass allows OGNL statement execution</span></li><li><a 
shape="rect" href="s2-004.html">S2-004</a> &#8212; <span 
class="smalltext">Directory traversal vulnerability while serving static 
content</span></li><li><a shape="rect" href="s2-005.html">S2-005</a> &#8212; 
<span class="smalltext">XWork ParameterInterceptors bypass allows remote 
command execution</span></li><li><a shape="rect" href="s2-006.html">S2-006</a> 
&#8212; <span class="smalltext">Multiple Cross-Site Scripting (XSS) in XWork 
generated error pages</span></li><li><a shape="rect" hr
 ef="s2-007.html">S2-007</a> &#8212; <span class="smalltext">User input is 
evaluated as an OGNL expression when there's a conversion 
error</span></li><li><a shape="rect" href="s2-008.html">S2-008</a> &#8212; 
<span class="smalltext">Multiple critical vulnerabilities in 
Struts2</span></li><li><a shape="rect" href="s2-009.html">S2-009</a> &#8212; 
<span class="smalltext">ParameterInterceptor vulnerability allows remote 
command execution</span></li><li><a shape="rect" href="s2-010.html">S2-010</a> 
&#8212; <span class="smalltext">When using Struts 2 token mechanism for CSRF 
protection, token check may be bypassed by misusing known session 
attributes</span></li><li><a shape="rect" href="s2-011.html">S2-011</a> &#8212; 
<span class="smalltext">Long request parameter names might significantly 
promote the effectiveness of DOS attacks</span></li><li><a shape="rect" 
href="s2-012.html">S2-012</a> &#8212; <span class="smalltext">Showcase app 
vulnerability allows remote command execution</span></li>
 <li><a shape="rect" href="s2-013.html">S2-013</a> &#8212; <span 
class="smalltext">A vulnerability, present in the includeParams attribute of 
the URL and Anchor Tag, allows remote command execution</span></li><li><a 
shape="rect" href="s2-014.html">S2-014</a> &#8212; <span class="smalltext">A 
vulnerability introduced by forcing parameter inclusion in the URL and Anchor 
Tag allows remote command execution, session access and manipulation and XSS 
attacks</span></li><li><a shape="rect" href="s2-015.html">S2-015</a> &#8212; 
<span class="smalltext">A vulnerability introduced by wildcard matching 
mechanism or double evaluation of OGNL Expression allows remote command 
execution.</span></li><li><a shape="rect" href="s2-016.html">S2-016</a> &#8212; 
<span class="smalltext">A vulnerability introduced by manipulating parameters 
prefixed with "action:"/"redirect:"/"redirectAction:" allows remote command 
execution</span></li><li><a shape="rect" href="s2-017.html">S2-017</a> &#8212; 
<span class="sma
 lltext">A vulnerability introduced by manipulating parameters prefixed with 
"redirect:"/"redirectAction:" allows for open redirects</span></li><li><a 
shape="rect" href="s2-018.html">S2-018</a> &#8212; <span 
class="smalltext">Broken Access Control Vulnerability in Apache 
Struts2</span></li><li><a shape="rect" href="s2-019.html">S2-019</a> &#8212; 
<span class="smalltext">Dynamic Method Invocation disabled by 
default</span></li><li><a shape="rect" href="s2-020.html">S2-020</a> &#8212; 
<span class="smalltext">Upgrade Commons FileUpload to version 1.3.1 (avoids DoS 
attacks) and adds 'class' to exclude params in ParametersInterceptor (avoid 
ClassLoader manipulation)</span></li><li><a shape="rect" 
href="s2-021.html">S2-021</a> &#8212; <span class="smalltext">Improves excluded 
params in ParametersInterceptor and CookieInterceptor to avoid ClassLoader 
manipulation</span></li><li><a shape="rect" href="s2-022.html">S2-022</a> 
&#8212; <span class="smalltext">Extends excluded params in CookieInt
 erceptor to avoid manipulation of Struts' internals</span></li><li><a 
shape="rect" href="s2-023.html">S2-023</a> &#8212; <span 
class="smalltext">Generated value of token can be predictable</span></li><li><a 
shape="rect" href="s2-024.html">S2-024</a> &#8212; <span 
class="smalltext">Wrong excludeParams overrides those defined in 
DefaultExcludedPatternsChecker</span></li><li><a shape="rect" 
href="s2-025.html">S2-025</a> &#8212; <span class="smalltext">Cross-Site 
Scripting Vulnerability in Debug Mode and in exposed JSP 
files</span></li><li><a shape="rect" href="s2-026.html">S2-026</a> &#8212; 
<span class="smalltext">Special top object can be used to access Struts' 
internals</span></li><li><a shape="rect" href="s2-027.html">S2-027</a> &#8212; 
<span class="smalltext">TextParseUtil.translateVariables does not filter 
malicious OGNL expressions</span></li></ul></div>
         </div>
 
                     <div class="tabletitle">
@@ -141,6 +141,9 @@ under the License.
                     <span class="smalltext">(Apache Struts 2 
Documentation)</span>
                     <br>
                                     $page.link($child)
+                    <span class="smalltext">(Apache Struts 2 
Documentation)</span>
+                    <br>
+                                    $page.link($child)
                     <span class="smalltext">(Apache Struts 2 
Documentation)</span>
                     <br>
                                     $page.link($child)

Modified: websites/production/struts/content/docs/security.html
==============================================================================
--- websites/production/struts/content/docs/security.html (original)
+++ websites/production/struts/content/docs/security.html Mon Feb 29 19:38:05 
2016
@@ -139,11 +139,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1453884667082 {padding: 0px;}
-div.rbtoc1453884667082 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1453884667082 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1456773801895 {padding: 0px;}
+div.rbtoc1456773801895 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1456773801895 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1453884667082">
+/*]]>*/</style></p><div class="toc-macro rbtoc1456773801895">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Security-Securitytips">Security tips</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Security-RestrictaccesstotheConfigBrowser">Restrict access to the Config 
Browser</a></li><li><a shape="rect" 
href="#Security-Don'tmixdifferentaccesslevelsinthesamenamespace">Don't mix 
different access levels in the same namespace</a></li><li><a shape="rect" 
href="#Security-NeverexposeJSPfilesdirectly">Never expose JSP files 
directly</a></li><li><a shape="rect" href="#Security-DisabledevMode">Disable 
devMode</a></li><li><a shape="rect" href="#Security-UseUTF-8encoding">Use UTF-8 
encoding</a></li></ul>
 </li><li><a shape="rect" href="#Security-Internalsecuritymechanism">Internal 
security mechanism</a>

Modified: websites/production/struts/content/docs/struts-2-blank-archetype.html
==============================================================================
--- websites/production/struts/content/docs/struts-2-blank-archetype.html 
(original)
+++ websites/production/struts/content/docs/struts-2-blank-archetype.html Mon 
Feb 29 19:38:05 2016
@@ -149,11 +149,11 @@ under the License.
 <p><strong>Contents</strong></p>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1453884536773 {padding: 0px;}
-div.rbtoc1453884536773 ul {list-style: none;margin-left: 0px;padding-left: 
1em;}
-div.rbtoc1453884536773 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1456773702121 {padding: 0px;}
+div.rbtoc1456773702121 ul {list-style: none;margin-left: 0px;padding-left: 
1em;}
+div.rbtoc1456773702121 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1453884536773">
+/*]]>*/</style><div class="toc-macro rbtoc1456773702121">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" 
href="#Struts2BlankArchetype-CreatingOurblank-archetypeProject">Creating Our 
blank-archetype Project</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">1.1</span> <a 
shape="rect" href="#Struts2BlankArchetype-Stagingrepository">Staging 
repository</a></li></ul>
 </li><li><span class="TOCOutline">2</span> <a shape="rect" 
href="#Struts2BlankArchetype-ProjectStructure">Project Structure</a>

Modified: websites/production/struts/content/docs/struts-2-maven-archetypes.html
==============================================================================
--- websites/production/struts/content/docs/struts-2-maven-archetypes.html 
(original)
+++ websites/production/struts/content/docs/struts-2-maven-archetypes.html Mon 
Feb 29 19:38:05 2016
@@ -143,11 +143,11 @@ under the License.
 <p><strong>Contents</strong></p>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1453884535519 {padding: 0px;}
-div.rbtoc1453884535519 ul {list-style: none;margin-left: 0px;padding-left: 
1em;}
-div.rbtoc1453884535519 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1456773703153 {padding: 0px;}
+div.rbtoc1456773703153 ul {list-style: none;margin-left: 0px;padding-left: 
1em;}
+div.rbtoc1456773703153 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1453884535519">
+/*]]>*/</style><div class="toc-macro rbtoc1456773703153">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" 
href="#Struts2MavenArchetypes-Quickstart">Quickstart</a></li><li><span 
class="TOCOutline">2</span> <a shape="rect" 
href="#Struts2MavenArchetypes-AvailableArchetypes">Available Archetypes</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">2.1</span> <a 
shape="rect" 
href="#Struts2MavenArchetypes-TheBlankConventionArchetype(struts2-archetype-convention)">The
 Blank Convention Archetype (struts2-archetype-convention)</a></li><li><span 
class="TOCOutline">2.2</span> <a shape="rect" 
href="#Struts2MavenArchetypes-TheBlankArchetype(struts2-archetype-blank)">The 
Blank Archetype (struts2-archetype-blank)</a></li><li><span 
class="TOCOutline">2.3</span> <a shape="rect" 
href="#Struts2MavenArchetypes-TheStarterArchetype(struts2-archetype-starter)">The
 Starter Archetype (struts2-archetype-starter)</a></li><li><span 
class="TOCOutline">2.4</span> <a shape="rect" 
href="#Struts2MavenArchetypes-TheAngularJSArchetype(struts2-archetype-angularjs)">The
 AngularJS Archetype (struts2-archetype-angularjs)</a></li><li><span 
class="TOCOutline">2.5</span> <a shape="rect" 
href="#Struts2MavenArchetypes-ThePortletBlankArchetype(struts2-archetype-portlet)">The
 Portlet Blank Archetype (struts2-ar
 chetype-portlet)</a></li><li><span class="TOCOutline">2.6</span> <a 
shape="rect" 
href="#Struts2MavenArchetypes-ThePortletDatabaseArchetype(struts2-archetype-dbportlet)">The
 Portlet Database Archetype (struts2-archetype-dbportlet)</a></li><li><span 
class="TOCOutline">2.7</span> <a shape="rect" 
href="#Struts2MavenArchetypes-ThePluginArchetype(struts2-archetype-plugin)">The 
Plugin Archetype (struts2-archetype-plugin)</a></li></ul>
 </li><li><span class="TOCOutline">3</span> <a shape="rect" 
href="#Struts2MavenArchetypes-CreatinganApplicationUsingaMavenArchetype">Creating
 an Application Using a Maven Archetype</a>

Modified: 
websites/production/struts/content/docs/struts-2-spring-2-jpa-ajax.html
==============================================================================
--- websites/production/struts/content/docs/struts-2-spring-2-jpa-ajax.html 
(original)
+++ websites/production/struts/content/docs/struts-2-spring-2-jpa-ajax.html Mon 
Feb 29 19:38:05 2016
@@ -145,11 +145,11 @@ under the License.
 <div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Following this tutorial verbatim 
will require use of a Struts 2 deployment greater than 2.0.3</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1453884419616 {padding: 0px;}
-div.rbtoc1453884419616 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1453884419616 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1456773601716 {padding: 0px;}
+div.rbtoc1456773601716 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1456773601716 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1453884419616">
+/*]]>*/</style><div class="toc-macro rbtoc1456773601716">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Struts2+Spring2+JPA+AJAX-Prerequisites">Prerequisites</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Struts2+Spring2+JPA+AJAX-Tomcat">Tomcat</a></li><li><a shape="rect" 
href="#Struts2+Spring2+JPA+AJAX-MySql">MySql</a></li></ul>
 </li><li><a shape="rect" href="#Struts2+Spring2+JPA+AJAX-Getthecode">Get the 
code</a>

Modified: websites/production/struts/content/docs/struts-next.html
==============================================================================
--- websites/production/struts/content/docs/struts-next.html (original)
+++ websites/production/struts/content/docs/struts-next.html Mon Feb 29 
19:38:05 2016
@@ -125,12 +125,12 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h3 
id="StrutsNext-/*&lt;![CDATA[*/div.rbtoc1453884611957{padding:0px;}div.rbtoc1453884611957ul{list-style:disc;margin-left:0px;}div.rbtoc1453884611957li{margin-left:0px;padding-left:0px;}/*]]&gt;*/#StrutsNext-Whatshouldbeimproved/changed#StrutsNext-Whatshouldbeimprove"><style
 type="text/css">/*<![CDATA[*/
-div.rbtoc1453884611957 {padding: 0px;}
-div.rbtoc1453884611957 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1453884611957 li {margin-left: 0px;padding-left: 0px;}
+            <div id="ConfluenceContent"><h3 
id="StrutsNext-/*&lt;![CDATA[*/div.rbtoc1456773756987{padding:0px;}div.rbtoc1456773756987ul{list-style:disc;margin-left:0px;}div.rbtoc1456773756987li{margin-left:0px;padding-left:0px;}/*]]&gt;*/#StrutsNext-Whatshouldbeimproved/changed#StrutsNext-Whatshouldbeimprove"><style
 type="text/css">/*<![CDATA[*/
+div.rbtoc1456773756987 {padding: 0px;}
+div.rbtoc1456773756987 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1456773756987 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></h3><div class="toc-macro rbtoc1453884611957">
+/*]]>*/</style></h3><div class="toc-macro rbtoc1456773756987">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#StrutsNext-"></a></li></ul>
 <ul><li><a shape="rect" href="#StrutsNext-Whatshouldbeimproved/changed">What 
should be improved / changed</a></li><li><a shape="rect" 
href="#StrutsNext-DevelopmentplanofStruts3">Development plan of Struts 3</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#StrutsNext-M1(akaStruts2.5)">M1 (aka Struts 2.5)</a></li><li><a 
shape="rect" href="#StrutsNext-M2(alphaStruts3)">M2 (alpha Struts 
3)</a></li><li><a shape="rect" href="#StrutsNext-M3(alphaStruts3)">M3 (alpha 
Struts 3)</a></li><li><a shape="rect" href="#StrutsNext-M4(beta1Struts3)">M4 
(beta 1 Struts 3)</a></li></ul>

Modified: websites/production/struts/content/docs/tiles-3-plugin.html
==============================================================================
--- websites/production/struts/content/docs/tiles-3-plugin.html (original)
+++ websites/production/struts/content/docs/tiles-3-plugin.html Mon Feb 29 
19:38:05 2016
@@ -138,62 +138,30 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Tiles is a templating framework 
designed to easily allow the creation of web application pages with a 
consistent look and feel. It can be used for both page decorating and 
componentization. This is the first release of the plugin!</p></div></div>
-<p>The Tiles 3 plugin allows actions to return Tiles 3 pages.</p>
-
-<h2 id="Tiles3Plugin-Features">Features</h2>
-
-<ul><li>Supports Tiles in Freemarker, JSP, and Velocity - more testing is 
needed</li></ul>
-
-
-<h2 id="Tiles3Plugin-Usage">Usage</h2>
-
-<p>The following steps must be taken in order to enable Tiles 3 support within 
your Struts2 application:</p>
-<ol><li>Include the struts-tiles3-plugin as a dependency in your web 
application, do not include the old struts2-tiles-plugin! If you are using 
maven3, the dependency configuration will be similar to:
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
-&lt;dependency&gt;
+            <div id="ConfluenceContent"><div 
class="confluence-information-macro confluence-information-macro-warning"><span 
class="aui-icon aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This plugin was dropped in Struts 
2.5, instead please use <a shape="rect" href="tiles-plugin.html">Tiles 
Plugin</a> which was extended and upgraded to Tiles 3.</p></div></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Tiles is a templating framework 
designed to easily allow the creation of web application pages with a 
consistent look and feel. It can be used for both page decorating and 
componentization. This is the first release of the 
plugin!</p></div></div><p>The Tiles 3 pluginallows actions to return Tiles 3 
pages.</p><h2 id="Tiles3P
 lugin-Features">Features</h2><ul><li>Supports Tiles in Freemarker, JSP, and 
Velocity - more testing is needed</li></ul><h2 
id="Tiles3Plugin-Usage">Usage</h2><p>The following steps must be taken in order 
to enable Tiles 3 support within your Struts2 
application:</p><ol><li><p>Include the struts-tiles3-plugin as a dependency in 
your web application, do not include the old struts2-tiles-plugin! If you are 
using maven3, the dependency configuration will be similar to:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
   &lt;artifactId&gt;struts2-tiles3-plugin&lt;/artifactId&gt;
   &lt;version&gt;${version.tiles}&lt;/version&gt;
   &lt;scope&gt;compile&lt;/scope&gt;
 &lt;/dependency&gt;
 </pre>
-</div></div></li><li>Register the tiles listener.
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
-&lt;listener&gt;
+</div></div></li><li><p>Register the tiles listener.</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;listener&gt;
     
&lt;listener-class&gt;org.apache.tiles.extras.complete.CompleteAutoloadTilesListener&lt;/listener-class&gt;
 &lt;/listener&gt;
 </pre>
-</div></div></li><li>All package definitions which require tiles support must 
either extend the tiles-default package or must register the <a shape="rect" 
class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Tiles+3+Result&amp;linkCreation=true&amp;fromPageId=30750969";>Tiles
 3 Result</a> type definition.
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
-&lt;result-types&gt;
+</div></div></li><li><p>All package definitions which require tiles support 
must either extend the tiles-default package or must register the <a 
shape="rect" class="unresolved" href="#">Tiles 3 Result</a> type 
definition.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;result-types&gt;
   &lt;result-type name="tiles" 
class="org.apache.struts2.views.tiles.TilesResult"/&gt;
 &lt;/result-types&gt;
 </pre>
-</div></div></li><li>Configure your actions to utilize a tiles definition:
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
-&lt;action name="sample" class="org.apache.struts2.tiles.example.SampleAction" 
&gt;
+</div></div></li><li><p>Configure your actions to utilize a tiles 
definition:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;action name="sample" 
class="org.apache.struts2.tiles.example.SampleAction" &gt;
   &lt;result name="success" type="tiles"&gt;tilesWorks&lt;/result&gt;
 &lt;/action&gt;
 </pre>
-</div></div></li></ol>
-
-
-<h2 id="Tiles3Plugin-Example">Example</h2>
-
-<p>TBD</p>
-
-<h2 id="Tiles3Plugin-Settings">Settings</h2>
-
-<p>This plugin does inherits settings from <a shape="rect" 
class="external-link" 
href="http://tiles.apache.org/config-reference.html";>Tiles 
configuration</a>.</p>
-
-<h2 id="Tiles3Plugin-Installation">Installation</h2>
-
-<p>This plugin can be installed by copying the plugin jar into your 
application's <code>/WEB-INF/lib</code> directory.  No other files need to be 
copied or created.</p></div>
+</div></div></li></ol><h2 id="Tiles3Plugin-Example">Example</h2><p>TBD</p><h2 
id="Tiles3Plugin-Settings">Settings</h2><p>This plugin does inherits settings 
from <a shape="rect" class="external-link" 
href="http://tiles.apache.org/config-reference.html";>Tiles 
configuration</a>.</p><h2 
id="Tiles3Plugin-Installation">Installation</h2><p>This plugin can be installed 
by copying the plugin jar into your application's <code>/WEB-INF/lib</code> 
directory. No other files need to be copied or created.</p></div>
         </div>
 
         

Added: websites/production/struts/content/docs/tiles-plugin.html
==============================================================================
--- websites/production/struts/content/docs/tiles-plugin.html (added)
+++ websites/production/struts/content/docs/tiles-plugin.html Mon Feb 29 
19:38:05 2016
@@ -0,0 +1,228 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License. 
+-->
+<html>
+<head>
+    <link type="text/css" rel="stylesheet" 
href="https://struts.apache.org/css/default.css";>
+    <style type="text/css">
+        .dp-highlighter {
+            width:95% !important;
+        }
+    </style>
+    <style type="text/css">
+        .footer {
+            background-image:      
url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+            background-repeat:     repeat-x;
+            background-position:   left top;
+            padding-top:           4px;
+            color:                 #666;
+        }
+    </style>
+    <link href='https://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='https://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' 
type='text/javascript'></script>
+    <script type="text/javascript">
+        SyntaxHighlighter.defaults['toolbar'] = false;
+        SyntaxHighlighter.all();
+    </script>
+    <script type="text/javascript" language="javascript">
+        var hide = null;
+        var show = null;
+        var children = null;
+
+        function init() {
+            /* Search form initialization */
+            var form = document.forms['search'];
+            if (form != null) {
+                form.elements['domains'].value = location.hostname;
+                form.elements['sitesearch'].value = location.hostname;
+            }
+
+            /* Children initialization */
+            hide = document.getElementById('hide');
+            show = document.getElementById('show');
+            children = document.all != null ?
+                    document.all['children'] :
+                    document.getElementById('children');
+            if (children != null) {
+                children.style.display = 'none';
+                show.style.display = 'inline';
+                hide.style.display = 'none';
+            }
+        }
+
+        function showChildren() {
+            children.style.display = 'block';
+            show.style.display = 'none';
+            hide.style.display = 'inline';
+        }
+
+        function hideChildren() {
+            children.style.display = 'none';
+            show.style.display = 'inline';
+            hide.style.display = 'none';
+        }
+    </script>
+    <title>Tiles Plugin</title>
+</head>
+<body onload="init()">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+    <tr class="topBar">
+        <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
+            &nbsp;<a href="home.html">Home</a>&nbsp;&gt;&nbsp;<a 
href="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="plugin-developers-guide.html">Plugin Developers 
Guide</a>&nbsp;&gt;&nbsp;<a href="tiles-plugin.html">Tiles Plugin</a>
+        </td>
+        <td align="right" valign="middle" nowrap>
+            <form name="search" action="https://www.google.com/search"; 
method="get">
+                <input type="hidden" name="ie" value="UTF-8" />
+                <input type="hidden" name="oe" value="UTF-8" />
+                <input type="hidden" name="domains" value="" />
+                <input type="hidden" name="sitesearch" value="" />
+                <input type="text" name="q" maxlength="255" value="" />
+                <input type="submit" name="btnG" value="Google Search" />
+            </form>
+        </td>
+    </tr>
+</table>
+
+<div id="PageContent">
+    <div class="pageheader" style="padding: 6px 0px 0px 0px;">
+        <!-- We'll enable this once we figure out how to access (and save) the 
logo resource -->
+        <!--img src="/wiki/images/confluence_logo.gif" style="float: left; 
margin: 4px 4px 4px 10px;" border="0"-->
+        <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts 
2 Documentation</div>
+        <div style="margin: 0px 10px 8px 10px"  class="pagetitle">Tiles 
Plugin</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=27401";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Edit Page"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=27401";>Edit
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Browse Space"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW";>Browse 
Space</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=27401";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Add Page"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=27401";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=27401";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Add News"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=27401";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Tiles is a templating framework 
designed to easily allow the creation of web application pages with a 
consistent look and feel. It can be used for both page decorating and 
componentization.</p></div></div><p>The Tiles pluginallows actions to return 
Tiles pages</p><h2 id="TilesPlugin-Features">Features</h2><ul><li>Supports 
Tiles in Freemarker, JSP, and Velocity</li><li>Provides annotations to keep 
tiles.xml short and put definitons into actions</li></ul><h2 
id="TilesPlugin-Usage">Usage</h2><p>The following steps must be taken in order 
to enable tiles support within your Struts2 application:</p><ol><li><p>Include 
the struts-tiles-plugin as a dependency in your web application. If you are 
using maven2, the dependency con
 figuration will be similar to:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
+  &lt;artifactId&gt;struts2-tiles-plugin&lt;/artifactId&gt;
+  &lt;version&gt;${version.tiles}&lt;/version&gt;
+  &lt;scope&gt;compile&lt;/scope&gt;
+&lt;/dependency&gt;
+</pre>
+</div></div></li><li><p>Register the tiles listener. This listener will 
typically either be the standard tiles listener 
(org.apache.tiles.listener.TilesListener) or the Struts2 replacement 
(org.apache.struts2.tiles.TilesListener). The latter provides tighter 
integration with Struts features such as freemarker integration.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;listener&gt;
+  
&lt;listener-class&gt;org.apache.struts2.tiles.StrutsTilesListener&lt;/listener-class&gt;
+&lt;/listener&gt;
+</pre>
+</div></div></li><li><p>All package definitions which require tiles support 
must either extend the tiles-default package or must register the <a 
shape="rect" class="unresolved" href="#">Tiles Result</a> type 
definition.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;result-types&gt;
+  &lt;result-type name="tiles" 
class="org.apache.struts2.views.tiles.TilesResult"/&gt;
+&lt;/result-types&gt;
+</pre>
+</div></div></li><li><p>Configure your actions to utilize a tiles 
definition:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;action name="sample" 
class="org.apache.struts2.tiles.example.SampleAction" &gt;
+  &lt;result name="success" type="tiles"&gt;tilesWorks&lt;/result&gt;
+&lt;/action&gt;
+</pre>
+</div></div></li><li><p>Instead of xml configuration you can use 
annotations</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">@Result(name = "success", type="tiles")
+@TilesDefinition(extend = "fooLayout", putAttributes = {
+    @TilesPutAttribute(name = "header", value = "/WEB-INF/tiles/header.jsp"),
+    @TilesPutAttribute(name = "body", value = "/WEB-INF/tiles/body.ftl")
+})
+public class FooAction extends ActionSupport {</pre>
+</div></div></li><li><p>You have to define Tiles Definitons in a tiles.xml 
file. That can be placed in <code>resources</code> or in 
<code>WEB-INF</code>.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;!DOCTYPE tiles-definitions PUBLIC
+        "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
+        "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"&gt;
+
+&lt;tiles-definitions&gt;
+
+    &lt;definition name="fooLayout" template="/WEB-INF/tiles/layout.jsp"&gt;
+        &lt;put-attribute name="title" value="Tiles Sample"/&gt;
+        &lt;put-attribute name="header" value=".header"/&gt;
+        &lt;put-attribute name="body" value=".bodyp"/&gt;
+    &lt;/definition&gt;
+
+    &lt;definition name="tilesWorks" extends="fooLayout"&gt;
+        &lt;put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/&gt;
+        &lt;put-attribute name="body" value="/WEB-INF/tiles/body.jsp"/&gt;
+    &lt;/definition&gt;
+
+&lt;/tiles-definitions&gt;</pre>
+</div></div></li></ol><h2 id="TilesPlugin-Example">Example</h2><p>This example 
shows a Tiles layout page using Struts tags:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+&lt;%@ taglib uri=&quot;http://tiles.apache.org/tags-tiles&quot; 
prefix=&quot;tiles&quot; %&gt;
+&lt;%@ taglib prefix=&quot;s&quot; uri=&quot;/struts-tags&quot; %&gt;
+
+&lt;%-- Show usage; Used in Header --%&gt;
+&lt;tiles:importAttribute name=&quot;title&quot; scope=&quot;request&quot;/&gt;
+&lt;html&gt;
+    &lt;head&gt;&lt;title&gt;Struts2 Showcase - &lt;tiles:getAsString 
name=&quot;title&quot;/&gt;&lt;/title&gt;&lt;/head&gt;
+&lt;body&gt;
+    &lt;tiles:insertAttribute name=&quot;header&quot;/&gt;
+    &lt;tiles:insertAttribute name=&quot;body&quot;/&gt;
+       &lt;p&gt;Notice that this is a layout made in JSP&lt;/p&gt;
+&lt;/body&gt;
+&lt;/html&gt;
+]]></script>
+</div></div>Please check&#160;<a shape="rect" class="external-link" 
href="https://github.com/apache/struts-examples/tree/master/tiles"; 
rel="nofollow">tiles</a>&#160;example in&#160;<a shape="rect" 
class="external-link" 
href="https://github.com/apache/struts-examples/tree/master/tiles"; 
rel="nofollow">struts-examples</a> project.<h2 
id="TilesPlugin-Settings">Settings</h2><p>This plugin does inherits settings 
from <a shape="rect" class="external-link" 
href="http://tiles.apache.org/config-reference.html";>Tiles 
configuration</a>.</p><h2 
id="TilesPlugin-Installation">Installation</h2><p>This plugin can be installed 
by copying the plugin jar into your application's <code>/WEB-INF/lib</code> 
directory. No other files need to be copied or created.</p></div>
+        </div>
+
+                    <div class="tabletitle">
+                Children
+            <span class="smalltext" id="show" style="display: inline;">
+              <a href="javascript:showChildren()">Show Children</a></span>
+            <span class="smalltext" id="hide" style="display: none;">
+              <a href="javascript:hideChildren()">Hide Children</a></span>
+            </div>
+            <div class="greybox" id="children" style="display: none;">
+                                                    $page.link($child)
+                    <span class="smalltext">(Apache Struts 2 
Documentation)</span>
+                    <br>
+                            </div>
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>

Modified: websites/production/struts/content/docs/tiles-use.html
==============================================================================
--- websites/production/struts/content/docs/tiles-use.html (original)
+++ websites/production/struts/content/docs/tiles-use.html Mon Feb 29 19:38:05 
2016
@@ -91,7 +91,7 @@ under the License.
 <table border="0" cellpadding="2" cellspacing="0" width="100%">
     <tr class="topBar">
         <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
-            &nbsp;<a href="home.html">Home</a>&nbsp;&gt;&nbsp;<a 
href="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="plugin-developers-guide.html">Plugin Developers 
Guide</a>&nbsp;&gt;&nbsp;<a href="tiles-2-plugin.html">Tiles 2 
Plugin</a>&nbsp;&gt;&nbsp;<a href="tiles-use.html">Tiles Use</a>
+            &nbsp;<a href="home.html">Home</a>&nbsp;&gt;&nbsp;<a 
href="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="plugin-developers-guide.html">Plugin Developers 
Guide</a>&nbsp;&gt;&nbsp;<a href="tiles-plugin.html">Tiles 
Plugin</a>&nbsp;&gt;&nbsp;<a href="tiles-use.html">Tiles Use</a>
         </td>
         <td align="right" valign="middle" nowrap>
             <form name="search" action="https://www.google.com/search"; 
method="get">

Modified: websites/production/struts/content/docs/tutoriallesson06.html
==============================================================================
--- websites/production/struts/content/docs/tutoriallesson06.html (original)
+++ websites/production/struts/content/docs/tutoriallesson06.html Mon Feb 29 
19:38:05 2016
@@ -144,7 +144,7 @@ under the License.
 
 <p>Interceptors allow arbitrary code to be included in the call stack for your 
action before and/or after processing the action, which can vastly simplify 
your code itself and provide excellent opportunities for code reuse. Many of 
the features of XWork and WebWork are implemented as interceptors and can be 
applied via external configuration along with your own Interceptors in whatever 
order you specify for any set of actions you define.</p>
 
-<p>In other words, when you access a <code>*.action</code> URL, WebWork's 
<code>ServletDispatcher</code> proceeds to the invocation of the an action 
object. Before it is executed, however, the invocation can be intercepted by 
another object, that is hence called interceptor. To have an interceptor 
executed before (or after) a given action, just configure 
<code>xwork.xml</code> properly, like the example below, taken from <a 
shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=TutorialLesson04-01-01&amp;linkCreation=true&amp;fromPageId=14155";>lesson
 4.1.1</a>:</p>
+<p>In other words, when you access a <code>*.action</code> URL, WebWork's 
<code>ServletDispatcher</code> proceeds to the invocation of the an action 
object. Before it is executed, however, the invocation can be intercepted by 
another object, that is hence called interceptor. To have an interceptor 
executed before (or after) a given action, just configure 
<code>xwork.xml</code> properly, like the example below, taken from <a 
shape="rect" class="unresolved" href="#">lesson 4.1.1</a>:</p>
 
 <h3 id="TutorialLesson06-Interceptorconfigurationfromlesson4.1.1:">Interceptor 
configuration from lesson 4.1.1:</h3>
 
@@ -157,7 +157,7 @@ under the License.
 &lt;/action&gt;
 </pre>
 </div></div>
-<p>As you can see, lesson 4.1.1's <code>formProcessing</code> Action uses the 
<code>validationWorkflowStack</code>. That is an interceptor stack, which 
organizes a bunch of interceptors in the order in which they are to be 
executed. That stack is configured in <code>webwork-default.xml</code>, so all 
we have to do to use it is declare a <code>&lt;interceptor-ref /&gt;</code> 
under the action configuration or a <code>&lt;default-interceptor-ref 
/&gt;</code>, under package configuration, as seen in <a shape="rect" 
class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Lesson+3+-+An+html+form+with+data&amp;linkCreation=true&amp;fromPageId=14155";>lesson
 3</a>'s first example:</p>
+<p>As you can see, lesson 4.1.1's <code>formProcessing</code> Action uses the 
<code>validationWorkflowStack</code>. That is an interceptor stack, which 
organizes a bunch of interceptors in the order in which they are to be 
executed. That stack is configured in <code>webwork-default.xml</code>, so all 
we have to do to use it is declare a <code>&lt;interceptor-ref /&gt;</code> 
under the action configuration or a <code>&lt;default-interceptor-ref 
/&gt;</code>, under package configuration, as seen in <a shape="rect" 
class="unresolved" href="#">lesson 3</a>'s first example:</p>
 
 <h3 id="TutorialLesson06-Interceptorconfigurationfromlesson3.1:">Interceptor 
configuration from lesson 3.1:</h3>
 
@@ -256,7 +256,7 @@ under the License.
 </pre>
 </div></div>
 <p>Since we included <code>webwork-default.xml</code> in our 
<code>xwork.xml</code>, all the interceptors and stacks above are available for 
us to use in our actions. Here's what these interceptors do:</p>
-<ul><li><strong>timer</strong>: clocks how long the action (including nested 
interceptors and view) takes to execute;</li><li><strong>logger</strong>: logs 
the action being executed;</li><li><strong>chain</strong>: makes the previous 
action's properties available to the current action. Used to make action 
chaining (reference: <a shape="rect" href="result-types.html">Result 
Types</a>);</li><li><strong>static-params</strong>: sets the parameters defined 
in <code>xwork.xml</code> onto the action. These are the <code>&lt;param 
/&gt;</code> tags that are direct children of the <code>&lt;action /&gt;</code> 
tag;</li><li><strong>params</strong>: sets the request (POST and GET) 
parameters onto the action class. We have seen an example of this in <a 
shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Lesson+3+-+An+html+form+with+data&amp;linkCreation=true&amp;fromPageId=14155";>lesson
 3</a>;</li><li><strong>model-driven</stro
 ng>: if the action implements <code>ModelDriven</code>, pushes the 
<code>getModel()</code> result onto the Value 
Stack;</li><li><strong>component</strong>: enables and makes registered 
components available to the actions. (reference: <a shape="rect" 
class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=IoC+%26+Components&amp;linkCreation=true&amp;fromPageId=14155";>IoC
 &amp; Components</a>);</li><li><strong>token</strong>: checks for valid token 
presence in action, prevents duplicate form 
submission;</li><li><strong>token-session</strong>: same as above, but storing 
the submitted data in session when handed an invalid 
token;</li><li><strong>validation</strong>: performs validation using the 
validators defined in {<code>Action}-validation.xml</code> (reference: <a 
shape="rect" href="validation.html">Validation</a>). We've seen an example of 
this in <a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/cr
 
eatepage.action?spaceKey=WW&amp;title=TutorialLesson04-01-01&amp;linkCreation=true&amp;fromPageId=14155">lesson
 4.1.1</a>;</li><li><strong>workflow</strong>: calls the validate method in 
your action class. If action errors created then it returns the 
<code>INPUT</code> view. Good to use together with the validation interceptor 
(reference: <a shape="rect" 
href="validation.html">Validation</a>);</li><li><strong>servlet-config</strong>:
 give access to <code>HttpServletRequest</code> and 
<code>HttpServletResponse</code> (think twice before using this since this ties 
you to the Servlet API);</li><li><strong>prepare</strong>: allows you to 
programmatic access to your Action class before the parameters are set on 
it.;</li><li><strong>conversionError</strong>: <span style="color: 
red;"><em>help needed here</em></span>.</li></ul>
+<ul><li><strong>timer</strong>: clocks how long the action (including nested 
interceptors and view) takes to execute;</li><li><strong>logger</strong>: logs 
the action being executed;</li><li><strong>chain</strong>: makes the previous 
action's properties available to the current action. Used to make action 
chaining (reference: <a shape="rect" href="result-types.html">Result 
Types</a>);</li><li><strong>static-params</strong>: sets the parameters defined 
in <code>xwork.xml</code> onto the action. These are the <code>&lt;param 
/&gt;</code> tags that are direct children of the <code>&lt;action /&gt;</code> 
tag;</li><li><strong>params</strong>: sets the request (POST and GET) 
parameters onto the action class. We have seen an example of this in <a 
shape="rect" class="unresolved" href="#">lesson 
3</a>;</li><li><strong>model-driven</strong>: if the action implements 
<code>ModelDriven</code>, pushes the <code>getModel()</code> result onto the 
Value Stack;</li><li><strong>component</strong>: e
 nables and makes registered components available to the actions. (reference: 
<a shape="rect" class="unresolved" href="#">IoC &amp; 
Components</a>);</li><li><strong>token</strong>: checks for valid token 
presence in action, prevents duplicate form 
submission;</li><li><strong>token-session</strong>: same as above, but storing 
the submitted data in session when handed an invalid 
token;</li><li><strong>validation</strong>: performs validation using the 
validators defined in {<code>Action}-validation.xml</code> (reference: <a 
shape="rect" href="validation.html">Validation</a>). We've seen an example of 
this in <a shape="rect" class="unresolved" href="#">lesson 
4.1.1</a>;</li><li><strong>workflow</strong>: calls the validate method in your 
action class. If action errors created then it returns the <code>INPUT</code> 
view. Good to use together with the validation interceptor (reference: <a 
shape="rect" 
href="validation.html">Validation</a>);</li><li><strong>servlet-config</strong>:
 give ac
 cess to <code>HttpServletRequest</code> and <code>HttpServletResponse</code> 
(think twice before using this since this ties you to the Servlet 
API);</li><li><strong>prepare</strong>: allows you to programmatic access to 
your Action class before the parameters are set on 
it.;</li><li><strong>conversionError</strong>: <span style="color: 
red;"><em>help needed here</em></span>.</li></ul>
 
 
 <h2 id="TutorialLesson06-BuildingyourownInterceptor">Building your own 
Interceptor</h2>
@@ -360,10 +360,10 @@ public class GreetingAction extends Acti
 <p>One other thing that interceptors can do is execute code after the action 
has executed. To do that, just place code after the invocation.invoke() call. 
WebWork provides an abstract class that already implements this kind of 
behaviour: <code>com.opensymphony.xwork.interceptor.AroundInterceptor</code>. 
Just extend it and implement the methods <code>before(ActionInvocation 
invocation)</code> and <code>after(ActionInvocation dispatcher, String 
result)</code>.</p>
 
 <p>The <code>xwork.xml</code> configuration, the action class and the result 
page are pretty straightforward and require no further explanation.</p>
-<blockquote><p><a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=TutorialExamples&amp;linkCreation=true&amp;fromPageId=14155";>Try
 the example!</a></p></blockquote>
+<blockquote><p><a shape="rect" class="unresolved" href="#">Try the 
example!</a></p></blockquote>
 
 <hr>
-<p><a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=TutorialLesson05&amp;linkCreation=true&amp;fromPageId=14155";>Previous
 Lesson</a> | <a shape="rect" href="tutorialend.html">End of 
Tutorial</a></p></div>
+<p><a shape="rect" class="unresolved" href="#">Previous Lesson</a> | <a 
shape="rect" href="tutorialend.html">End of Tutorial</a></p></div>
         </div>
 
                     <div class="tabletitle">

Modified: websites/production/struts/content/docs/type-conversion.html
==============================================================================
--- websites/production/struts/content/docs/type-conversion.html (original)
+++ websites/production/struts/content/docs/type-conversion.html Mon Feb 29 
19:38:05 2016
@@ -141,11 +141,11 @@ under the License.
             <div id="ConfluenceContent"><p>Routine type conversion in the 
framework is transparent. Generally, all you need to do is ensure that HTML 
inputs have names that can be used in <a shape="rect" href="ognl.html">OGNL</a> 
expressions. (HTML inputs are form elements and other GET/POST parameters.)</p>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1453884182286 {padding: 0px;}
-div.rbtoc1453884182286 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1453884182286 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1456773335959 {padding: 0px;}
+div.rbtoc1456773335959 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1456773335959 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1453884182286">
+/*]]>*/</style><div class="toc-macro rbtoc1456773335959">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" href="#TypeConversion-BuiltinTypeConversionSupport">Built in Type 
Conversion Support</a></li><li><span class="TOCOutline">2</span> <a 
shape="rect" href="#TypeConversion-RelationshiptoParameterNames">Relationship 
to Parameter Names</a></li><li><span class="TOCOutline">3</span> <a 
shape="rect" href="#TypeConversion-CreatingaTypeConverter">Creating a Type 
Converter</a></li><li><span class="TOCOutline">4</span> <a shape="rect" 
href="#TypeConversion-ApplyingaTypeConvertertoanAction">Applying a Type 
Converter to an Action</a></li><li><span class="TOCOutline">5</span> <a 
shape="rect" 
href="#TypeConversion-ApplyingaTypeConvertertoabeanormodel">Applying a Type 
Converter to a bean or model</a></li><li><span class="TOCOutline">6</span> <a 
shape="rect" 
href="#TypeConversion-ApplyingaTypeConverterforanapplication">Applying a Type 
Converter for an application</a></li><li><span class="TOCOutline">7</span> <a 
shape="r
 ect" href="#TypeConversion-ASimpleExample">A Simple Example</a></li><li><span 
class="TOCOutline">8</span> <a shape="rect" 
href="#TypeConversion-AdvancedTypeConversion">Advanced Type Conversion</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">8.1</span> <a 
shape="rect" href="#TypeConversion-NullPropertyHandling">Null Property 
Handling</a></li><li><span class="TOCOutline">8.2</span> <a shape="rect" 
href="#TypeConversion-CollectionandMapSupport">Collection and Map Support</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">8.2.1</span> <a 
shape="rect" 
href="#TypeConversion-Indexingacollectionbyapropertyofthatcollection">Indexing 
a collection by a property of that collection</a></li></ul>

Modified: websites/production/struts/content/docs/user-guide.html
==============================================================================
--- websites/production/struts/content/docs/user-guide.html (original)
+++ websites/production/struts/content/docs/user-guide.html Mon Feb 29 19:38:05 
2016
@@ -127,23 +127,23 @@ under the License.
         <div class="wiki-content">
             <div id="ConfluenceContent"><ul class="alternate"><li><a 
shape="rect" href="introduction.html">Introduction</a>
        <ul class="alternate"><li>Forward into the Past !</li><li>What is 
Struts 2 ?</li></ul>
-       </li><li><a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Basic+Concepts&amp;linkCreation=true&amp;fromPageId=45047";>Basic
 Concepts</a>
+       </li><li><a shape="rect" class="unresolved" href="#">Basic Concepts</a>
        <ul class="alternate"><li>Overview</li><li>Request, 
Response</li><li>Model, View, Controller (MVC)</li><li>The Struts 2 
Architecture</li><li><a shape="rect" href="the-struts-2-request-flow.html">The 
Struts 2 Request Flow</a></li></ul>
-       </li><li><a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Building+Model+Components&amp;linkCreation=true&amp;fromPageId=45047";>Building
 Model Components</a>
+       </li><li><a shape="rect" class="unresolved" href="#">Building Model 
Components</a>
        <ul class="alternate"><li>Overview</li></ul>
-       </li><li><a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Building+View+Components&amp;linkCreation=true&amp;fromPageId=45047";>Building
 View Components</a>
+       </li><li><a shape="rect" class="unresolved" href="#">Building View 
Components</a>
        <ul class="alternate"><li>Overview</li><li>Bundled View Components
                <ul class="alternate"><li>Using JavaServer Pages 
(JSP)</li><li><a shape="rect" href="using-freemarker-templates.html">Using 
Freemarker Templates</a></li><li>Using Velocity 
Templates</li><li>Other</li></ul>
                </li><li>Internationalization</li><li>Using Tags in Your View 
Components
                <ul class="alternate"><li>Object-Graph Navigation Language 
(OGNL)</li><li>JavaServer Pages Standard Tag Library (JSTL)</li><li>Form 
tags</li><li>Non-form tags</li><li>AJAX tags</li></ul>
                </li><li>Themes</li><li>Templates</li></ul>
-       </li><li><a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Building+Controller+Components&amp;linkCreation=true&amp;fromPageId=45047";>Building
 Controller Components</a>
+       </li><li><a shape="rect" class="unresolved" href="#">Building 
Controller Components</a>
        <ul class="alternate"><li>Overview</li><li>Using Plain Old Java Objects 
(POJO) as Controllers</li><li>Enhanced Controllers</li><li>Error 
Handling</li><li>Mapping
                <ul class="alternate"><li>Using the Default Action 
Mapping</li><li>Using Wildcards in Action Mapping</li></ul>
                </li><li>Type Conversion</li><li>Action 
Population</li><li>Interceptors</li><li>Validating the Controllers
                <ul class="alternate"><li>Validator Types</li><li>Built-in 
Validators</li></ul>
                </li></ul>
-       </li><li><a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Configuration&amp;linkCreation=true&amp;fromPageId=45047";>Configuration</a>
+       </li><li><a shape="rect" class="unresolved" href="#">Configuration</a>
        <ul class="alternate"><li>Overview</li><li>Configuration by Convention
                <ul class="alternate"><li>Zero Configuration: No More 
XML</li><li>Using Annotations for Configuration</li></ul>
                </li><li>The Configuration Files

Modified: 
websites/production/struts/content/docs/using-freemarker-templates.html
==============================================================================
--- websites/production/struts/content/docs/using-freemarker-templates.html 
(original)
+++ websites/production/struts/content/docs/using-freemarker-templates.html Mon 
Feb 29 19:38:05 2016
@@ -141,11 +141,11 @@ under the License.
             <div id="ConfluenceContent"><p><a shape="rect" 
class="external-link" href="http://freemarker.sourceforge.net/"; 
rel="nofollow">FreeMarker</a> is a Java-based template engine that is a great 
alternative to <a shape="rect" href="jsp.html">JSP</a>. FreeMarker is ideal for 
situations where your action results can possibly be loaded from outside a 
Servlet container. For example, if you wished to support plugins in your 
application, you might wish to use FreeMarker so that the plugins could provide 
the entire action class and view in a single jar that is loaded from the 
classloader.</p>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1453884436781 {padding: 0px;}
-div.rbtoc1453884436781 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1453884436781 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1456773616597 {padding: 0px;}
+div.rbtoc1456773616597 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1456773616597 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1453884436781">
+/*]]>*/</style><div class="toc-macro rbtoc1456773616597">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#UsingFreemarkerTemplates-Configureyouractiontousethe&quot;freemarker&quot;resulttype">Configure
 your action to use the "freemarker" result type</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-Usingproperties">Using 
properties</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-Servlet/JSPScopedObjects">Servlet / JSP Scoped 
Objects</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#UsingFreemarkerTemplates-ApplicationScopeAttribute">Application Scope 
Attribute</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-SessionScopeAttribute">Session Scope 
Attribute</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-RequestScopeAttribute">Request Scope 
Attribute</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-RequestParameter">Request 
Parameter</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-Contextparameter">Context 
parameter</a></li></ul>
 </li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-TemplateLoading">Template 
Loading</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-VariableResolution">Variable 
Resolution</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-FreeMarkerconfiguration">FreeMarker 
configuration</a></li><li><a shape="rect" 
href="#UsingFreemarkerTemplates-Tags">Tags</a>

Modified: websites/production/struts/content/docs/validation.html
==============================================================================
--- websites/production/struts/content/docs/validation.html (original)
+++ websites/production/struts/content/docs/validation.html Mon Feb 29 19:38:05 
2016
@@ -139,11 +139,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p>Struts 2 validation is configured 
via XML or annotations. Manual validation in the action is also possible, and 
may be combined with XML and annotation-driven validation.</p><p>Validation 
also depends on both the <code>validation</code> and <code>workflow</code> 
interceptors (both are included in the default interceptor stack). The 
<code>validation</code> interceptor does the validation itself and creates a 
list of field-specific errors. The <code>workflow</code> interceptor checks for 
the presence of validation errors: if any are found, it returns the "input" 
result (by default), taking the user back to the form which contained the 
validation errors.</p><p>If we're using the default settings <em>and</em> our 
action doesn't have an "input" result defined <em>and</em> there are validation 
(or, incidentally, type conversion) errors, we'll get an error message back 
telling us there's no "input" result defined for the action.</p><p><strong>CONT
 ENTS</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1453884324955 {padding: 0px;}
-div.rbtoc1453884324955 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1453884324955 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1456773511211 {padding: 0px;}
+div.rbtoc1456773511211 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1456773511211 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1453884324955">
+/*]]>*/</style></p><div class="toc-macro rbtoc1456773511211">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" href="#Validation-UsingAnnotations">Using 
Annotations</a></li><li><span class="TOCOutline">2</span> <a shape="rect" 
href="#Validation-BeanValidation">Bean Validation</a></li><li><span 
class="TOCOutline">3</span> <a shape="rect" 
href="#Validation-Examples">Examples</a></li><li><span 
class="TOCOutline">4</span> <a shape="rect" 
href="#Validation-BundledValidators">Bundled Validators</a></li><li><span 
class="TOCOutline">5</span> <a shape="rect" 
href="#Validation-RegisteringValidators">Registering 
Validators</a></li><li><span class="TOCOutline">6</span> <a shape="rect" 
href="#Validation-TurningonValidation">Turning on Validation</a></li><li><span 
class="TOCOutline">7</span> <a shape="rect" 
href="#Validation-ValidatorScopes">Validator Scopes</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">7.1</span> <a 
shape="rect" href="#Validation-Notes">Notes</a></li></ul>
 </li><li><span class="TOCOutline">8</span> <a shape="rect" 
href="#Validation-DefiningValidationRules">Defining Validation 
Rules</a></li><li><span class="TOCOutline">9</span> <a shape="rect" 
href="#Validation-LocalizingandParameterizingMessages">Localizing and 
Parameterizing Messages</a></li><li><span class="TOCOutline">10</span> <a 
shape="rect" href="#Validation-ValidatorFlavor">Validator 
Flavor</a></li><li><span class="TOCOutline">11</span> <a shape="rect" 
href="#Validation-Non-FieldValidatorVsField-Validatorvalidatortypes">Non-Field 
Validator Vs Field-Validator</a></li><li><span class="TOCOutline">12</span> <a 
shape="rect" href="#Validation-Short-CircuitingValidator">Short-Circuiting 
Validator</a></li><li><span class="TOCOutline">13</span> <a shape="rect" 
href="#Validation-HowValidatorsofanActionareFound">How Validators of an Action 
are Found</a></li><li><span class="TOCOutline">14</span> <a shape="rect" 
href="#Validation-Writingcustomvalidators">Writing custom validators</a></li>
 <li><span class="TOCOutline">15</span> <a shape="rect" 
href="#Validation-Resources">Resources</a></li><li><span 
class="TOCOutline">16</span> <a shape="rect" href="#Validation-Next:">Next: 
Localization</a></li></ul>

Modified: websites/production/struts/content/docs/webxml.html
==============================================================================
--- websites/production/struts/content/docs/webxml.html (original)
+++ websites/production/struts/content/docs/webxml.html Mon Feb 29 19:38:05 2016
@@ -195,7 +195,7 @@ under the License.
 </div></div><h2 
id="web.xml-CustomFileManagerandFileManagerFactoryimplementations">Custom 
FileManager and FileManagerFactory implementations</h2><p>If there is a need to 
support an App Server's specific file system (eg. VFS in JBoss), you can 
implement your own version of FileManager. But it must be registered at "the 
beginning" to support bootstrap of the whole framework.</p><p>To register your 
own FileManger you can do it with &lt;init-param/&gt; as below:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;filter&gt;
      &lt;filter-name&gt;struts2&lt;/filter-name&gt;
-     
&lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt;
+     
&lt;filter-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt;
      &lt;init-param&gt;
          &lt;param-name&gt;struts.fileManager&lt;/param-name&gt;
          &lt;param-value&gt;com.company.MyFileManager&lt;/param-value&gt;
@@ -212,7 +212,16 @@ under the License.
      &lt;/init-param&gt;
 &lt;/filter&gt;
 </pre>
-</div></div><p>Take a look on default implementations - 
DefaultFileManager.java and DefaultFileManagerFactory.java to understand how 
and why.</p></div>
+</div></div><p>Take a look on default implementations - 
DefaultFileManager.java and DefaultFileManagerFactory.java to understand how 
and why.</p><h2 id="web.xml-Customconfigurationprovider">Custom configuration 
provider</h2><p>It is possible to use your 
custom&#160;<code>ConfigurationProvider</code> to programmatically configure 
your application. To do this use&#160;<code>configProviders</code>&#160;(it can 
be a comma-separated list of class 
names)&#160;<code>&lt;init-param/&gt;</code>&#160;as below:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;filter&gt;
+     &lt;filter-name&gt;struts2&lt;/filter-name&gt;
+     
&lt;filter-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt;
+     &lt;init-param&gt;
+         &lt;param-name&gt;configProviders&lt;/param-name&gt;
+         
&lt;param-value&gt;com.company.MyConfigurationProvider&lt;/param-value&gt;
+     &lt;/init-param&gt;
+&lt;/filter&gt;</pre>
+</div></div><p>See&#160;<a shape="rect" 
href="configuration-provider-configuration.html">Configuration Provider &amp; 
Configuration</a>&#160;for more details.</p></div>
         </div>
 
         

Modified: 
websites/production/struts/content/docs/what-are-some-of-the-frameworks-best-features.html
==============================================================================
--- 
websites/production/struts/content/docs/what-are-some-of-the-frameworks-best-features.html
 (original)
+++ 
websites/production/struts/content/docs/what-are-some-of-the-frameworks-best-features.html
 Mon Feb 29 19:38:05 2016
@@ -129,15 +129,15 @@ under the License.
 <p>Key features of the framework include: </p>
 
 <h3 id="Whataresomeoftheframework'sbestfeatures-Core">Core </h3>
-<ul><li>Pluggable framework <a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=architecture&amp;linkCreation=true&amp;fromPageId=13921";>architecture</a>
 that allows request lifecycles to be customized for each 
action.</li><li>Flexible <a shape="rect" href="validation.html">validation</a> 
framework that allows validation rules to be decoupled from action 
code.</li><li>Hierarchical approach to <a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=internationalization&amp;linkCreation=true&amp;fromPageId=13921";>internationalization</a>
 that simplifies localizing applications.</li><li>Automatic <a shape="rect" 
href="type-conversion.html">type conversion</a> that transparently maps values 
from HTTP to native Java data objects, solving one of the most tedious efforts 
when creating web applications.</li><li>Integrated <a shape="rect" 
href="dependency-
 injection.html">dependency injection</a> engine that manages component 
lifecycle and dependencies.</li><li>Modular <a shape="rect" 
href="configuration-files.html">configuration files</a> that use packages and 
namespaces to simplify managing large projects with hundreds of 
actions.</li><li><a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=J2SE+5+Support&amp;linkCreation=true&amp;fromPageId=13921";>Java
 5 annotations</a> that reduce configuration overhead. (Java 1.4 is the minimum 
platform.)</li></ul>
+<ul><li>Pluggable framework <a shape="rect" class="unresolved" 
href="#">architecture</a> that allows request lifecycles to be customized for 
each action.</li><li>Flexible <a shape="rect" 
href="validation.html">validation</a> framework that allows validation rules to 
be decoupled from action code.</li><li>Hierarchical approach to <a shape="rect" 
class="unresolved" href="#">internationalization</a> that simplifies localizing 
applications.</li><li>Automatic <a shape="rect" 
href="type-conversion.html">type conversion</a> that transparently maps values 
from HTTP to native Java data objects, solving one of the most tedious efforts 
when creating web applications.</li><li>Integrated <a shape="rect" 
href="dependency-injection.html">dependency injection</a> engine that manages 
component lifecycle and dependencies.</li><li>Modular <a shape="rect" 
href="configuration-files.html">configuration files</a> that use packages and 
namespaces to simplify managing large projects with hundreds of actions
 .</li><li><a shape="rect" class="unresolved" href="#">Java 5 annotations</a> 
that reduce configuration overhead. (Java 1.4 is the minimum 
platform.)</li></ul>
 
 
 <h3 id="Whataresomeoftheframework'sbestfeatures-View">View </h3>
-<ul><li>Reusable user interface <a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=tags&amp;linkCreation=true&amp;fromPageId=13921";>tags</a>
 that allow for easy component-oriented development using <a shape="rect" 
href="themes-and-templates.html">themes and templates</a>. Bundled tags ranges 
from simple text fields to advanced tags like date pickers and tree 
views.</li><li>JSTL-compatible expression language (<a shape="rect" 
href="ognl.html">OGNL</a>) that exposes properties on multiple objects as if 
they were a single JavaBean.</li><li>Pluggable <a shape="rect" 
href="result-types.html">Result Types</a> that support multiple view 
technologies, including <a shape="rect" href="jsp.html">JSP</a>, <a 
shape="rect" href="freemarker.html">FreeMarker</a>, <a shape="rect" 
href="velocity.html">Velocity</a>, PDF, and <a shape="rect" 
href="jasperreports-tutorial.html">JasperReports</a>.</li><li>Optional <a 
shape="rect" href
 ="ajax-theme.html">AJAX theme</a> that simplifes creating <a shape="rect" 
class="external-link" href="http://en.wikipedia.org/wiki/AJAX"; 
rel="nofollow">interactive web applications</a>.</li><li>Optional <a 
shape="rect" href="interceptors.html">Interceptor</a> plugins that can execute 
long-running queries in the background, prevent multiple form submissions, or 
handle custom security schemes.</li></ul>
+<ul><li>Reusable user interface <a shape="rect" class="unresolved" 
href="#">tags</a> that allow for easy component-oriented development using <a 
shape="rect" href="themes-and-templates.html">themes and templates</a>. Bundled 
tags ranges from simple text fields to advanced tags like date pickers and tree 
views.</li><li>JSTL-compatible expression language (<a shape="rect" 
href="ognl.html">OGNL</a>) that exposes properties on multiple objects as if 
they were a single JavaBean.</li><li>Pluggable <a shape="rect" 
href="result-types.html">Result Types</a> that support multiple view 
technologies, including <a shape="rect" href="jsp.html">JSP</a>, <a 
shape="rect" href="freemarker.html">FreeMarker</a>, <a shape="rect" 
href="velocity.html">Velocity</a>, PDF, and <a shape="rect" 
href="jasperreports-tutorial.html">JasperReports</a>.</li><li>Optional <a 
shape="rect" href="ajax-theme.html">AJAX theme</a> that simplifes creating <a 
shape="rect" class="external-link" href="http://en.wikipedia.org/wi
 ki/AJAX" rel="nofollow">interactive web applications</a>.</li><li>Optional <a 
shape="rect" href="interceptors.html">Interceptor</a> plugins that can execute 
long-running queries in the background, prevent multiple form submissions, or 
handle custom security schemes.</li></ul>
 
 
 <h3 id="Whataresomeoftheframework'sbestfeatures-Other">Other</h3>
-<ul><li>Easy integration with other popular products, including <a 
shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Hibernate&amp;linkCreation=true&amp;fromPageId=13921";>Hibernate</a>,
 <a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Spring&amp;linkCreation=true&amp;fromPageId=13921";>Spring</a>,
 <a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=SiteMesh&amp;linkCreation=true&amp;fromPageId=13921";>SiteMesh</a>,
 and <a shape="rect" class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=JSTL&amp;linkCreation=true&amp;fromPageId=13921";>JSTL</a>.</li><li>Distributed
 under the business-friendly <a shape="rect" class="external-link" 
href="http://apache.org/licenses/LICENSE-2.0";>Apache License 
2.0</a>.</li></ul></div>
+<ul><li>Easy integration with other popular products, including <a 
shape="rect" class="unresolved" href="#">Hibernate</a>, <a shape="rect" 
class="unresolved" href="#">Spring</a>, <a shape="rect" class="unresolved" 
href="#">SiteMesh</a>, and <a shape="rect" class="unresolved" 
href="#">JSTL</a>.</li><li>Distributed under the business-friendly <a 
shape="rect" class="external-link" 
href="http://apache.org/licenses/LICENSE-2.0";>Apache License 
2.0</a>.</li></ul></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/what-is-the-actioncontext.html
==============================================================================
--- websites/production/struts/content/docs/what-is-the-actioncontext.html 
(original)
+++ websites/production/struts/content/docs/what-is-the-actioncontext.html Mon 
Feb 29 19:38:05 2016
@@ -191,7 +191,7 @@ ActionContext context = ActionContext.ge
 
 <p>The darker side is that classes that depend heavily on ThreadLocal can be 
diffcult to unit test. A cleaner design centralizes access to ThreadLocal 
variables, so that other classes are easier to test.</p>
 
-<h2 id="WhatistheActionContext?-Backto">Back to <a shape="rect" 
class="createlink" 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=ds&amp;title=FAQs";>FAQs</a></h2>
+<h2 id="WhatistheActionContext?-Backto">Back to <a shape="rect" 
class="unresolved" href="#">FAQs</a></h2>
 
 <hr>
 

Modified: websites/production/struts/content/index.html
==============================================================================
--- websites/production/struts/content/index.html (original)
+++ websites/production/struts/content/index.html Mon Feb 29 19:38:05 2016
@@ -165,10 +165,10 @@
       <div class="column col-md-4">
       </div>
       <div class="column col-md-4">
-        <h2>Security Bulletin S2-025</h2>
+        <h2>Security Bulletin S2-026</h2>
         <p>
           A new security bulletin was published, please carefully read the
-          <a href="announce.html#a20150826">Announcement</a>
+          <a href="/docs/s2-026.html">Announcement</a>
         </p>
       </div>
       <div class="column col-md-4">

Modified: websites/production/struts/content/volunteers.html
==============================================================================
--- websites/production/struts/content/volunteers.html (original)
+++ websites/production/struts/content/volunteers.html Mon Feb 29 19:38:05 2016
@@ -147,6 +147,7 @@ or committee member.</p>
   <li>Johannes Geppert (jogep at apache.org)</li>
   <li>Christian Grobmeier (grobmeier at apache.org)</li>
   <li>Christoph Nenning (cnenning at apache.org)</li>
+  <li>Greg Huber (ghuber at apache.org)</li>
 </ul>
 
 <h2 id="committers">Committers</h2>
@@ -164,7 +165,6 @@ or committee member.</p>
   <li>Mathias Bogaert (pathos at apache.org)</li>
   <li>John Lindal (jafl at apache.org)</li>
   <li>Bruce A. Phillips (bphillips at apache.org)</li>
-  <li>Greg Huber (ghuber at apache.org)</li>
   <li>Aleksandr Mashchenko (amashchenko at apache.org)</li>
 </ul>
 


Reply via email to