struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lukaszlen...@apache.org
Subject svn commit: r1015104 [1/3] - /websites/production/struts/content/docs/
Date Fri, 07 Jul 2017 16:46:15 GMT
Author: lukaszlenart
Date: Fri Jul  7 16:46:14 2017
New Revision: 1015104

Log:
Updates production

Added:
    websites/production/struts/content/docs/s2-048.html
    websites/production/struts/content/docs/version-notes-2333.html
    websites/production/struts/content/docs/version-notes-2512.html
Modified:
    websites/production/struts/content/docs/actionmapper.html
    websites/production/struts/content/docs/can-we-use-jstl-with-the-framework.html
    websites/production/struts/content/docs/client-validation.html
    websites/production/struts/content/docs/core-developers-guide.html
    websites/production/struts/content/docs/file-upload.html
    websites/production/struts/content/docs/freemarker.html
    websites/production/struts/content/docs/getting-started.html
    websites/production/struts/content/docs/guides.html
    websites/production/struts/content/docs/interceptors.html
    websites/production/struts/content/docs/jasperreports-plugin.html
    websites/production/struts/content/docs/localization.html
    websites/production/struts/content/docs/plugins.html
    websites/production/struts/content/docs/security-bulletins.html
    websites/production/struts/content/docs/security.html
    websites/production/struts/content/docs/spring-plugin.html
    websites/production/struts/content/docs/struts-defaultxml.html
    websites/production/struts/content/docs/strutsproperties.html
    websites/production/struts/content/docs/strutsxml-examples.html
    websites/production/struts/content/docs/tiles-plugin.html
    websites/production/struts/content/docs/tutorials.html
    websites/production/struts/content/docs/type-conversion.html
    websites/production/struts/content/docs/validation.html
    websites/production/struts/content/docs/validations-annotation.html
    websites/production/struts/content/docs/xhtml-theme.html

Modified: websites/production/struts/content/docs/actionmapper.html
==============================================================================
--- websites/production/struts/content/docs/actionmapper.html (original)
+++ websites/production/struts/content/docs/actionmapper.html Fri Jul  7 16:46:14 2017
@@ -140,11 +140,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1492970082840 {padding: 0px;}
-div.rbtoc1492970082840 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1492970082840 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1499445292825 {padding: 0px;}
+div.rbtoc1499445292825 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1499445292825 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1492970082840">
+/*]]>*/</style></p><div class="toc-macro rbtoc1499445292825">
 <ul class="toc-indentation"><li><a shape="rect" href="#ActionMapper-Description">Description</a></li><li><a shape="rect" href="#ActionMapper-DefaultActionMapper">DefaultActionMapper</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#ActionMapper-Methodprefix">Method prefix</a></li><li><a shape="rect" href="#ActionMapper-Actionprefix">Action prefix</a></li><li><a shape="rect" href="#ActionMapper-AllowedactionnameRegEx">Allowed action name RegEx</a></li><li><a shape="rect" href="#ActionMapper-AllowedmethodnameRegEx">Allowed method name RegEx</a></li></ul>
 </li><li><a shape="rect" href="#ActionMapper-CustomActionMapper">Custom ActionMapper</a></li><li><a shape="rect" href="#ActionMapper-CompositeActionMapper">CompositeActionMapper</a></li><li><a shape="rect" href="#ActionMapper-PrefixBasedActionMapper">PrefixBasedActionMapper</a></li><li><a shape="rect" href="#ActionMapper-ActionMapperandActionMappingobjects">ActionMapper and ActionMapping objects</a>
@@ -232,7 +232,7 @@ The factory will use the same set of pat
   }
 }
 </pre>
-</div></div><p><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> See also: <a shape="rect" href="restfulactionmapper.html">RestfulActionMapper</a></p><h2 id="ActionMapper-Next:ActionProxy&amp;ActionProxyFactory">Next: <a shape="rect" href="action-proxy-actionproxy-factory.html">Action Proxy &amp; ActionProxy Factory</a></h2></div>
+</div></div><p><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> See also: <a shape="rect" href="restfulactionmapper.html">RestfulActionMapper</a></p><h2 id="ActionMapper-Next:ActionProxy&amp;ActionProxyFactory">Next: <a shape="rect" href="action-proxy-actionproxy-factory.html">Action Proxy &amp; ActionProxy Factory</a></h2></div>
         </div>
 
                     <div class="tabletitle">

Modified: websites/production/struts/content/docs/can-we-use-jstl-with-the-framework.html
==============================================================================
--- websites/production/struts/content/docs/can-we-use-jstl-with-the-framework.html (original)
+++ websites/production/struts/content/docs/can-we-use-jstl-with-the-framework.html Fri Jul  7 16:46:14 2017
@@ -141,7 +141,7 @@ under the License.
         <div class="wiki-content">
             <div id="ConfluenceContent"><div class="confluence-information-macro confluence-information-macro-information"><p class="title">About JSTL</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The <a shape="rect" class="external-link" href="http://java.sun.com/products/jsp/jstl/" rel="nofollow">JavaServer Pages Standard Tag Library</a> (JSTL) encapsulates as simple tags the core functionality common to many Web applications. JSTL has support for common, structural tasks such as iteration and conditionals, tags for manipulating XML documents, internationalization tags, and SQL tags.</p></div></div>
 
-<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> JSTL integration is built into the framework - there are no steps required to enable it. Simply refer to your JSTL expressions just as you would with a normal SAF JSP tag, such as the property tag.</p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> JSTL integration is built into the framework - there are no steps required to enable it. Simply refer to your JSTL expressions just as you would with a normal SAF JSP tag, such as the property tag.</p>
 
 <hr>
 <div class="confluence-information-macro confluence-information-macro-information"><p class="title">Javadoc: (org.apache.struts2.dispatcher.StrutsRequestWrapper)</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body">

Modified: websites/production/struts/content/docs/client-validation.html
==============================================================================
--- websites/production/struts/content/docs/client-validation.html (original)
+++ websites/production/struts/content/docs/client-validation.html Fri Jul  7 16:46:14 2017
@@ -139,7 +139,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><p>Let's create a Client-Side validation workflow, step by step.</p><p><img class="emoticon emoticon-information" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/information.png" data-emoticon-name="information" alt="(info)"> The <code>validate</code> attribute is set to <code>true</code>.</p><p><img class="emoticon emoticon-information" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/information.png" data-emoticon-name="information" alt="(info)"> Some themes do not support client-side validation.</p><h2 id="ClientValidation-Step1">Step 1</h2><p>Create the form.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+            <div id="ConfluenceContent"><p>Let's create a Client-Side validation workflow, step by step.</p><p><img class="emoticon emoticon-information" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/information.png" data-emoticon-name="information" alt="(info)"> The <code>validate</code> attribute is set to <code>true</code>.</p><p><img class="emoticon emoticon-information" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/information.png" data-emoticon-name="information" alt="(info)"> Some themes do not support client-side validation.</p><h2 id="ClientValidation-Step1">Step 1</h2><p>Create the form.</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;html&gt;
@@ -172,7 +172,7 @@ under the License.
 &lt;/html&gt;
 
 ]]></script>
-</div></div><img class="emoticon emoticon-information" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/information.png" data-emoticon-name="information" alt="(info)"> This case uses the default xhtml theme, so the <code>&lt;s:head &gt;</code> tag is used to link a style sheet.<h2 id="ClientValidation-Step2">Step 2</h2><p>Create the Action class.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><img class="emoticon emoticon-information" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/information.png" data-emoticon-name="information" alt="(info)"> This case uses the default xhtml theme, so the <code>&lt;s:head &gt;</code> tag is used to link a style sheet.<h2 id="ClientValidation-Step2">Step 2</h2><p>Create the Action class.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 
 public class QuizAction extends ActionSupport {

Modified: websites/production/struts/content/docs/core-developers-guide.html
==============================================================================
--- websites/production/struts/content/docs/core-developers-guide.html (original)
+++ websites/production/struts/content/docs/core-developers-guide.html Fri Jul  7 16:46:14 2017
@@ -125,7 +125,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><p>Struts 2 processes requests using three core types: <a shape="rect" href="interceptor-configuration.html">interceptors</a>, <a shape="rect" href="action-configuration.html">actions</a>, and <a shape="rect" href="result-configuration.html">results</a>. Each may be configured via XML or annotations.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="tutorials.html">Tutorials</a> - Read me first!</li><li>Developing Applications with Struts 2<ul><li><a shape="rect" href="nutshell.html">Nutshell</a></li><li><a shape="rect" href="ajax.html">AJAX</a></li><li><a shape="rect" href="dependency-injection.html">Dependency Injection</a></li><li><a shape="rect" href="profiling.html">Profiling</a></li><li><a shape="rect" href="debugging.html">Debugging</a></li><li><a shape="rect" href="devmode.html">Development Mode</a></li></ul></li><li>Configuration<ul><li><
 a shape="rect" href="convention-plugin.html">Configuration by Convention</a></li><li><a shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" href="configuration-elements.html">Configuration Elements</a><ul><li><a shape="rect" href="action-configuration.html">Actions</a>, <a shape="rect" href="wildcard-mappings.html">Wildcard Mappings</a>, <a shape="rect" href="bean-configuration.html">Beans</a>, <a shape="rect" href="constant-configuration.html">Constants</a></li><li><a shape="rect" href="exception-configuration.html">Exceptions</a>, <a shape="rect" href="include-configuration.html">Includes</a>, <a shape="rect" href="interceptor-configuration.html">Interceptors</a></li><li><a shape="rect" href="namespace-configuration.html">Namespaces</a>, <a shape="rect" href="package-configuration.html">Packages</a>, <a shape="rect" href="result-configuration.html">Results</a></li><li><a shape="rect" href="unknown-handlers.html">Unknown Handlers</a>, <a shape="rect" href="
 dispatcher.html">Dispatcher</a></li></ul></li><li><a shape="rect" href="configuration-files.html">Configuration Files</a><ul><li><a shape="rect" href="webxml.html">web.xml</a></li><li><a shape="rect" href="strutsxml.html">struts.xml</a></li><li><a shape="rect" href="strutsproperties.html">struts.properties</a></li><li><a shape="rect" href="struts-defaultxml.html">struts-default.xml</a></li><li><a shape="rect" href="velocityproperties.html">velocity.properties</a></li><li><a shape="rect" href="struts-defaultvm.html">struts-default.vm</a></li></ul></li><li><a shape="rect" href="application-servers.html">Application Servers</a></li><li><a shape="rect" href="performance-tuning.html">Performance Tuning</a></li></ul></li><li><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"><a shape="rect" href="security.html">Sec
 urity</a></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="testing-actions.html">Testing Actions</a><ul><li><a shape="rect" class="external-link" href="https://depressedprogrammer.wordpress.com/2007/06/18/unit-testing-struts-2-actions-spring-junit/" rel="nofollow">(arsenalist)</a></li><li><a shape="rect" class="external-link" href="http://fassisrosa.blogspot.com/2006/11/unit-testing-struts-20.html" rel="nofollow">(rosa)</a></li></ul></li><li><a shape="rect" href="interceptors.html">Interceptors</a><ul><li><a shape="rect" href="writing-interceptors.html">Writing Interceptors</a></li><li><a shape="rect" href="parameters-interceptor.html">Excluding Parameters</a></li></ul></li><li>Actions<ul><li><a shape="rect" href="model-driven.html">Model Driven</a></li><li><a shape="rect" href="action-chaining.html">Action Chaining</a></li><li><a shape="rect" href="actioneventlistener.html">ActionEventListener</a></li></ul></li><li>Results<ul><li><a shape
 ="rect" href="result-types.html">Result Types</a></li><li><a shape="rect" href="dispatcherlistener.html">DispatcherListener</a></li><li><a shape="rect" href="preresultlistener.html">PreResultListener</a></li></ul></li><li><a shape="rect" href="validation.html">Validation</a></li><li><a shape="rect" href="localization.html">Localization</a><ul><li><a shape="rect" href="formatting-dates-and-numbers.html">Formatting Dates and Numbers</a></li></ul></li><li><a shape="rect" href="type-conversion.html">Type Conversion</a></li><li><a shape="rect" href="static-content.html">Static Content</a></li><li>Portlets<ul><li><a shape="rect" href="struts-2-portlet-tutorial.html">Tutorial</a></li><li><a shape="rect" href="portlet-plugin.html">Configuration/Documentation</a></li></ul></li><li><a shape="rect" href="logging.html">Logging</a></li><li><a shape="rect" href="faqs.html">FAQs</a><ul><li><a shape="rect" href="struts-2-maven-archetypes.html">Struts 2 Maven Archetypes</a></li><li><a shape="rect" h
 ref="cookbook.html">Cookbook</a></li></ul></li><li><a shape="rect" class="external-link" href="http://struts.apache.org/maven/struts2-core/apidocs/index.html">Javadoc APIs</a></li></ul></td></tr></tbody></table></div><h2 id="CoreDevelopersGuide-Next:">Next: <a shape="rect" href="tag-developers-guide.html">Tag Developers Guide</a></h2></div>
+            <div id="ConfluenceContent"><p>Struts 2 processes requests using three core types: <a shape="rect" href="interceptor-configuration.html">interceptors</a>, <a shape="rect" href="action-configuration.html">actions</a>, and <a shape="rect" href="result-configuration.html">results</a>. Each may be configured via XML or annotations.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>Developing Applications with Struts 2<ul><li><a shape="rect" href="nutshell.html">Nutshell</a></li><li><a shape="rect" href="ajax.html">AJAX</a></li><li><a shape="rect" href="dependency-injection.html">Dependency Injection</a></li><li><a shape="rect" href="profiling.html">Profiling</a></li><li><a shape="rect" href="debugging.html">Debugging</a></li><li><a shape="rect" href="devmode.html">Development Mode</a></li></ul></li><li>Configuration<ul><li><a shape="rect" href="convention-plugin.html">Configuration by Convention</a><
 /li><li><a shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" href="configuration-elements.html">Configuration Elements</a><ul><li><a shape="rect" href="action-configuration.html">Actions</a>, <a shape="rect" href="wildcard-mappings.html">Wildcard Mappings</a>, <a shape="rect" href="bean-configuration.html">Beans</a>, <a shape="rect" href="constant-configuration.html">Constants</a></li><li><a shape="rect" href="exception-configuration.html">Exceptions</a>, <a shape="rect" href="include-configuration.html">Includes</a>, <a shape="rect" href="interceptor-configuration.html">Interceptors</a></li><li><a shape="rect" href="namespace-configuration.html">Namespaces</a>, <a shape="rect" href="package-configuration.html">Packages</a>, <a shape="rect" href="result-configuration.html">Results</a></li><li><a shape="rect" href="unknown-handlers.html">Unknown Handlers</a>, <a shape="rect" href="dispatcher.html">Dispatcher</a></li></ul></li><li><a shape="rect" href="confi
 guration-files.html">Configuration Files</a><ul><li><a shape="rect" href="webxml.html">web.xml</a></li><li><a shape="rect" href="strutsxml.html">struts.xml</a></li><li><a shape="rect" href="strutsproperties.html">struts.properties</a></li><li><a shape="rect" href="struts-defaultxml.html">struts-default.xml</a></li><li><a shape="rect" href="velocityproperties.html">velocity.properties</a></li><li><a shape="rect" href="struts-defaultvm.html">struts-default.vm</a></li></ul></li><li><a shape="rect" href="application-servers.html">Application Servers</a></li><li><a shape="rect" href="performance-tuning.html">Performance Tuning</a></li></ul></li><li><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"><a shape="rect" href="security.html">Security</a></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul>
 <li><a shape="rect" href="testing-actions.html">Testing Actions</a><ul><li><a shape="rect" class="external-link" href="https://depressedprogrammer.wordpress.com/2007/06/18/unit-testing-struts-2-actions-spring-junit/" rel="nofollow">(arsenalist)</a></li><li><a shape="rect" class="external-link" href="http://fassisrosa.blogspot.com/2006/11/unit-testing-struts-20.html" rel="nofollow">(rosa)</a></li></ul></li><li><a shape="rect" href="interceptors.html">Interceptors</a><ul><li><a shape="rect" href="writing-interceptors.html">Writing Interceptors</a></li><li><a shape="rect" href="parameters-interceptor.html">Excluding Parameters</a></li></ul></li><li>Actions<ul><li><a shape="rect" href="model-driven.html">Model Driven</a></li><li><a shape="rect" href="action-chaining.html">Action Chaining</a></li><li><a shape="rect" href="actioneventlistener.html">ActionEventListener</a></li></ul></li><li>Results<ul><li><a shape="rect" href="result-types.html">Result Types</a></li><li><a shape="rect" hre
 f="dispatcherlistener.html">DispatcherListener</a></li><li><a shape="rect" href="preresultlistener.html">PreResultListener</a></li></ul></li><li><a shape="rect" href="validation.html">Validation</a></li><li><a shape="rect" href="localization.html">Localization</a><ul><li><a shape="rect" href="formatting-dates-and-numbers.html">Formatting Dates and Numbers</a></li></ul></li><li><a shape="rect" href="type-conversion.html">Type Conversion</a></li><li><a shape="rect" href="static-content.html">Static Content</a></li><li>Portlets<ul><li><a shape="rect" href="struts-2-portlet-tutorial.html">Tutorial</a></li><li><a shape="rect" href="portlet-plugin.html">Configuration/Documentation</a></li></ul></li><li><a shape="rect" href="logging.html">Logging</a></li><li><a shape="rect" href="faqs.html">FAQs</a><ul><li><a shape="rect" href="struts-2-maven-archetypes.html">Struts 2 Maven Archetypes</a></li><li><a shape="rect" href="cookbook.html">Cookbook</a></li></ul></li><li><a shape="rect" class="ext
 ernal-link" href="http://struts.apache.org/maven/struts2-core/apidocs/index.html">Javadoc APIs</a></li></ul></td></tr></tbody></table></div><h2 id="CoreDevelopersGuide-Next:">Next: <a shape="rect" href="tag-developers-guide.html">Tag Developers Guide</a></h2></div>
         </div>
 
                     <div class="tabletitle">
@@ -140,9 +140,6 @@ 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/file-upload.html
==============================================================================
--- websites/production/struts/content/docs/file-upload.html (original)
+++ websites/production/struts/content/docs/file-upload.html Fri Jul  7 16:46:14 2017
@@ -140,11 +140,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p>The Struts 2 framework provides built-in support for processing file uploads that conform to <a shape="rect" class="external-link" href="http://www.ietf.org/rfc/rfc1867.txt" rel="nofollow">RFC 1867</a>, "Form-based File Upload in HTML". When correctly configured the framework will pass uploaded file(s) into your Action class. Support for individual and multiple file uploads are provided. When a file is uploaded it will typically be stored in a temporary directory. Uploaded files should be processed or moved by your Action class to ensure the data is not lost. Be aware that servers may have a security policy in place that prohibits you from writing to directories other than the temporary directory and the directories that belong to your web application.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1492970337680 {padding: 0px;}
-div.rbtoc1492970337680 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1492970337680 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1499445531876 {padding: 0px;}
+div.rbtoc1499445531876 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1499445531876 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1492970337680">
+/*]]>*/</style></p><div class="toc-macro rbtoc1499445531876">
 <ul class="toc-indentation"><li><a shape="rect" href="#FileUpload-Dependencies">Dependencies</a></li><li><a shape="rect" href="#FileUpload-BasicUsage">Basic Usage</a></li><li><a shape="rect" href="#FileUpload-UploadingMultipleFiles">Uploading Multiple Files</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#FileUpload-UploadingMultipleFilesusingArrays">Uploading Multiple Files using Arrays</a></li><li><a shape="rect" href="#FileUpload-UploadingMultipleFilesusingLists">Uploading Multiple Files using Lists</a></li></ul>
 </li><li><a shape="rect" href="#FileUpload-AdvancedConfiguration">Advanced Configuration</a>

Modified: websites/production/struts/content/docs/freemarker.html
==============================================================================
--- websites/production/struts/content/docs/freemarker.html (original)
+++ websites/production/struts/content/docs/freemarker.html Fri Jul  7 16:46:14 2017
@@ -140,11 +140,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1492970038118 {padding: 0px;}
-div.rbtoc1492970038118 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1492970038118 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1499445252403 {padding: 0px;}
+div.rbtoc1499445252403 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1499445252403 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1492970038118">
+/*]]>*/</style></p><div class="toc-macro rbtoc1499445252403">
 <ul class="toc-indentation"><li><a shape="rect" href="#FreeMarker-GettingStarted">Getting Started</a></li><li><a shape="rect" href="#FreeMarker-Servlet/JSPScopedObjects">Servlet / JSP Scoped Objects</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#FreeMarker-ApplicationScopeAttribute">Application Scope Attribute</a></li><li><a shape="rect" href="#FreeMarker-SessionScopeAttribute">Session Scope Attribute</a></li><li><a shape="rect" href="#FreeMarker-RequestScopeAttribute">Request Scope Attribute</a></li><li><a shape="rect" href="#FreeMarker-RequestParameter">Request Parameter</a></li><li><a shape="rect" href="#FreeMarker-Contextparameter">Context parameter</a></li></ul>
 </li><li><a shape="rect" href="#FreeMarker-TemplateLoading">Template Loading</a></li><li><a shape="rect" href="#FreeMarker-VariableResolution">Variable Resolution</a></li><li><a shape="rect" href="#FreeMarker-TagSupport">Tag Support</a></li><li><a shape="rect" href="#FreeMarker-TipsandTricks">Tips and Tricks</a>
@@ -220,7 +220,7 @@ Click &lt;a xhref="${url}"&gt;here&lt;/a
     &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
 &lt;/servlet&gt;
 </pre>
-</div></div><h2 id="FreeMarker-TipsandTricks">Tips and Tricks</h2><p>There are some advanced features that may be useful when building Struts applications with FreeMarker.</p><h3 id="FreeMarker-TypeConversionandLocales">Type Conversion and Locales</h3><p>FreeMarker has built in support for formatting dates and numbers. The formatting rules are based on the locale associated with the action request, which is by default set in <a shape="rect" href="strutsproperties.html">struts.properties</a> but can be over-ridden using the <a shape="rect" href="i18n-interceptor.html">I18n Interceptor</a>. This is normally perfect for your needs, but it is important to remember that these formatting rules are handled by FreeMarker and not by the framework's <a shape="rect" href="type-conversion.html">Type Conversion</a> support.</p><p>If you want the framework to handle the formatting according to the <a shape="rect" href="type-conversion.html">Type Conversion</a> you have specified, you shouldn't us
 e the normal ${...} syntax. Instead, you should use the <a shape="rect" href="property.html">property</a> tag. The difference is that the property tag is specifically designed to take an <a shape="rect" href="ognl.html">OGNL</a> expression, evaluate it, and then convert it to a String using any <a shape="rect" href="type-conversion.html">Type Conversion</a> rules you have specified. The normal ${...} syntax will use a FreeMarker expression language, evaluate it, and then convert it to a String using the built in formatting rules.</p><p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> The difference in how type conversion is handled under Freemarker is subtle but important to understand.</p><h3 id="FreeMarker-Extending">Extending</h3><p>Sometimes you may with to extend the framework's FreeMarker support. For example
 , you might want to extend the Struts tags that come bundled with the framework.</p><p>To extend the Freemarker support, develop a class that extends <code>org.apache.struts2.views.freemarker.FreemarkerManager</code>, overriding methods as needed, and plugin the class through the <a shape="rect" href="strutsproperties.html">struts.properties</a>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h2 id="FreeMarker-TipsandTricks">Tips and Tricks</h2><p>There are some advanced features that may be useful when building Struts applications with FreeMarker.</p><h3 id="FreeMarker-TypeConversionandLocales">Type Conversion and Locales</h3><p>FreeMarker has built in support for formatting dates and numbers. The formatting rules are based on the locale associated with the action request, which is by default set in <a shape="rect" href="strutsproperties.html">struts.properties</a> but can be over-ridden using the <a shape="rect" href="i18n-interceptor.html">I18n Interceptor</a>. This is normally perfect for your needs, but it is important to remember that these formatting rules are handled by FreeMarker and not by the framework's <a shape="rect" href="type-conversion.html">Type Conversion</a> support.</p><p>If you want the framework to handle the formatting according to the <a shape="rect" href="type-conversion.html">Type Conversion</a> you have specified, you shouldn't us
 e the normal ${...} syntax. Instead, you should use the <a shape="rect" href="property.html">property</a> tag. The difference is that the property tag is specifically designed to take an <a shape="rect" href="ognl.html">OGNL</a> expression, evaluate it, and then convert it to a String using any <a shape="rect" href="type-conversion.html">Type Conversion</a> rules you have specified. The normal ${...} syntax will use a FreeMarker expression language, evaluate it, and then convert it to a String using the built in formatting rules.</p><p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> The difference in how type conversion is handled under Freemarker is subtle but important to understand.</p><h3 id="FreeMarker-Extending">Extending</h3><p>Sometimes you may with to extend the framework's FreeMarker support. For example
 , you might want to extend the Struts tags that come bundled with the framework.</p><p>To extend the Freemarker support, develop a class that extends <code>org.apache.struts2.views.freemarker.FreemarkerManager</code>, overriding methods as needed, and plugin the class through the <a shape="rect" href="strutsproperties.html">struts.properties</a>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">struts.freemarker.manager.classname = com.yourcompany.YourFreeMarkerManager
 </pre>
 </div></div><h3 id="FreeMarker-ObjectWrapperSettings">ObjectWrapper Settings</h3><p>Once you get familiar with FreeMarker, you will find certain <em>subtleties</em>with it that may become frustrating. The most common thing you'll likely run in to is the BeansWrapper provided by FreeMarker. If you don't know what this is, don't worry. However, if you do, know this:</p><p></p><p>

Modified: websites/production/struts/content/docs/getting-started.html
==============================================================================
--- websites/production/struts/content/docs/getting-started.html (original)
+++ websites/production/struts/content/docs/getting-started.html Fri Jul  7 16:46:14 2017
@@ -125,7 +125,7 @@ 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>The framework documentation is written for active web developers and assumes a working knowledge about how Java web applications are built. For more about the underlying nuts and bolts, see the <a shape="rect" class="external-link" href="http://struts.apache.org/primer.html">Key Technologies Primer</a>.</p></div></div><p>Follow along with these tutorials to get started using Struts 2. The example code for the tutorialsis available for checkout from the <br clear="none"> Struts 2 GitHub repository at <a shape="rect" class="external-link" href="https://github.com/apache/struts-examples" rel="nofollow">https://github.com/apache/struts-examples</a>. The example projects use Maven<br clear="none"> to manage the artifact de
 pendencies and to build the .war files.</p><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>The <a shape="rect" class="external-link" href="http://struts.apache.org/mail.html">Struts 2 user mailing list</a> 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.</p></div></div><h3 id="GettingStarted-GettingStarted">Getting Started</h3><p><a shape="rect" href="how-to-create-a-struts-2-web-application.html">How To Create A Struts 2 Web Application</a></p><p><a shape="rect" href="hello-world-using-struts-2.html">Hello World Using Struts 2</a></p><p><a shape="rect" href="using-struts-2-tags.html">Using Struts 2 Tags</a></p><p><a shape="rect" hr
 ef="coding-struts-2-actions.html">Coding Struts 2 Actions</a></p><p><a shape="rect" href="processing-forms.html">Processing Forms</a></p><p><a shape="rect" href="form-validation.html">Form Validation</a></p><p><a shape="rect" href="message-resource-files.html">Message Resource Files</a></p><p><a shape="rect" href="exception-handling.html">Exception Handling</a></p><p><a shape="rect" href="debugging-struts.html">Debugging Struts</a></p><p><a shape="rect" href="struts-2-form-tags.html">Struts 2 Form Tags</a></p><p><a shape="rect" href="form-validation-using-xml.html">Form Validation Using XML</a></p><p><a shape="rect" href="struts-control-tags.html">Control Tags</a></p><p><a shape="rect" href="wildcard-method-selection.html">Wildcard Method Selection</a></p><p><a shape="rect" href="struts-2-themes.html">Struts 2 Themes</a></p><p><a shape="rect" href="spring-and-struts-2.html">Spring and Struts 2</a></p><p><a shape="rect" href="struts-2-annotations.html">Struts 2 Annotations</a></p><p>
 <a shape="rect" href="introducing-interceptors.html">Introducing Interceptors</a></p><p><a shape="rect" href="unit-testing.html">Unit Testing</a></p><p><a shape="rect" href="http-session.html">HTTP Session</a></p><p><a shape="rect" href="preparable-interface.html">Preparable Interface</a></p><p><a shape="rect" href="exclude-parameters.html">Exclude Parameters</a></p><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>Looking for the old <a shape="rect" href="bootstrap.html">Bootstrap tutorials</a>?</p></div></div></div>
+            <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 PAGE IS DEPRECATED, PLEASE FOLLOW THE LINK TO THE NEW GETTING STARTED GUIDE!</p><p><a shape="rect" class="external-link" href="http://struts.apache.org/getting-started/">http://struts.apache.org/getting-started/</a></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>The framework documentation is written for active web developers and assumes a working knowledge about how Java web applications are built. For more about the underlying nuts and bolts, see the <a shape="rect" class="external-link" href="http://struts.apache.org/p
 rimer.html">Key Technologies Primer</a>.</p></div></div><p>Follow along with these tutorials to get started using Struts 2. The example code for the tutorialsis available for checkout from the <br clear="none"> Struts 2 GitHub repository at <a shape="rect" class="external-link" href="https://github.com/apache/struts-examples" rel="nofollow">https://github.com/apache/struts-examples</a>. The example projects use Maven<br clear="none"> to manage the artifact dependencies and to build the .war files.</p><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>The <a shape="rect" class="external-link" href="http://struts.apache.org/mail.html">Struts 2 user mailing list</a> 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 y
 ou don't find an answer to your problem, post a question on the mailing list.</p></div></div><h3 id="GettingStarted-GettingStarted">Getting Started</h3><p><a shape="rect" href="how-to-create-a-struts-2-web-application.html">How To Create A Struts 2 Web Application</a></p><p><a shape="rect" href="hello-world-using-struts-2.html">Hello World Using Struts 2</a></p><p><a shape="rect" href="using-struts-2-tags.html">Using Struts 2 Tags</a></p><p><a shape="rect" href="coding-struts-2-actions.html">Coding Struts 2 Actions</a></p><p><a shape="rect" href="processing-forms.html">Processing Forms</a></p><p><a shape="rect" href="form-validation.html">Form Validation</a></p><p><a shape="rect" href="message-resource-files.html">Message Resource Files</a></p><p><a shape="rect" href="exception-handling.html">Exception Handling</a></p><p><a shape="rect" href="debugging-struts.html">Debugging Struts</a></p><p><a shape="rect" href="struts-2-form-tags.html">Struts 2 Form Tags</a></p><p><a shape="rect" 
 href="form-validation-using-xml.html">Form Validation Using XML</a></p><p><a shape="rect" href="struts-control-tags.html">Control Tags</a></p><p><a shape="rect" href="wildcard-method-selection.html">Wildcard Method Selection</a></p><p><a shape="rect" href="struts-2-themes.html">Struts 2 Themes</a></p><p><a shape="rect" href="spring-and-struts-2.html">Spring and Struts 2</a></p><p><a shape="rect" href="struts-2-annotations.html">Struts 2 Annotations</a></p><p><a shape="rect" href="introducing-interceptors.html">Introducing Interceptors</a></p><p><a shape="rect" href="unit-testing.html">Unit Testing</a></p><p><a shape="rect" href="http-session.html">HTTP Session</a></p><p><a shape="rect" href="preparable-interface.html">Preparable Interface</a></p><p><a shape="rect" href="exclude-parameters.html">Exclude Parameters</a></p><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macr
 o-icon"></span><div class="confluence-information-macro-body"><p>Looking for the old <a shape="rect" href="bootstrap.html">Bootstrap tutorials</a>?</p></div></div></div>
         </div>
 
                     <div class="tabletitle">

Modified: websites/production/struts/content/docs/guides.html
==============================================================================
--- websites/production/struts/content/docs/guides.html (original)
+++ websites/production/struts/content/docs/guides.html Fri Jul  7 16:46:14 2017
@@ -125,7 +125,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><p>Our in-depth guides focus on specific areas of the framework, such as Views, the Core framework, and Third-party Extensions.</p><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>We started work on a new <a shape="rect" href="user-guide.html">User Guide</a>, that should simplify learning process. Please feel free to contribute!</p></div></div><h2 id="Guides-CoreDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=13945"><a shape="rect" href="core-developers-guide.html">Core Developers Guide</a></h2><p>Struts 2 processes requests using three core types: <a shape="rect" href="interceptor-configuration.html">interceptors</a>, <a shape="rect" href="action-configuration.html">actions</a>, and <a shape="rect" href="result-configuration.html">re
 sults</a>. Each may be configured via XML or annotations.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="tutorials.html">Tutorials</a> - Read me first!</li><li>Developing Applications with Struts 2<ul><li><a shape="rect" href="nutshell.html">Nutshell</a></li><li><a shape="rect" href="ajax.html">AJAX</a></li><li><a shape="rect" href="dependency-injection.html">Dependency Injection</a></li><li><a shape="rect" href="profiling.html">Profiling</a></li><li><a shape="rect" href="debugging.html">Debugging</a></li><li><a shape="rect" href="devmode.html">Development Mode</a></li></ul></li><li>Configuration<ul><li><a shape="rect" href="convention-plugin.html">Configuration by Convention</a></li><li><a shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" href="configuration-elements.html">Configuration Elements</a><ul><li><a shape="rect" href="action-configuration.html">A
 ctions</a>, <a shape="rect" href="wildcard-mappings.html">Wildcard Mappings</a>, <a shape="rect" href="bean-configuration.html">Beans</a>, <a shape="rect" href="constant-configuration.html">Constants</a></li><li><a shape="rect" href="exception-configuration.html">Exceptions</a>, <a shape="rect" href="include-configuration.html">Includes</a>, <a shape="rect" href="interceptor-configuration.html">Interceptors</a></li><li><a shape="rect" href="namespace-configuration.html">Namespaces</a>, <a shape="rect" href="package-configuration.html">Packages</a>, <a shape="rect" href="result-configuration.html">Results</a></li><li><a shape="rect" href="unknown-handlers.html">Unknown Handlers</a>, <a shape="rect" href="dispatcher.html">Dispatcher</a></li></ul></li><li><a shape="rect" href="configuration-files.html">Configuration Files</a><ul><li><a shape="rect" href="webxml.html">web.xml</a></li><li><a shape="rect" href="strutsxml.html">struts.xml</a></li><li><a shape="rect" href="strutsproperties.
 html">struts.properties</a></li><li><a shape="rect" href="struts-defaultxml.html">struts-default.xml</a></li><li><a shape="rect" href="velocityproperties.html">velocity.properties</a></li><li><a shape="rect" href="struts-defaultvm.html">struts-default.vm</a></li></ul></li><li><a shape="rect" href="application-servers.html">Application Servers</a></li><li><a shape="rect" href="performance-tuning.html">Performance Tuning</a></li></ul></li><li><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"><a shape="rect" href="security.html">Security</a></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="testing-actions.html">Testing Actions</a><ul><li><a shape="rect" class="external-link" href="https://depressedprogrammer.wordpress.com/2007/06/18/unit-testing-struts-2-actions-sprin
 g-junit/" rel="nofollow">(arsenalist)</a></li><li><a shape="rect" class="external-link" href="http://fassisrosa.blogspot.com/2006/11/unit-testing-struts-20.html" rel="nofollow">(rosa)</a></li></ul></li><li><a shape="rect" href="interceptors.html">Interceptors</a><ul><li><a shape="rect" href="writing-interceptors.html">Writing Interceptors</a></li><li><a shape="rect" href="parameters-interceptor.html">Excluding Parameters</a></li></ul></li><li>Actions<ul><li><a shape="rect" href="model-driven.html">Model Driven</a></li><li><a shape="rect" href="action-chaining.html">Action Chaining</a></li><li><a shape="rect" href="actioneventlistener.html">ActionEventListener</a></li></ul></li><li>Results<ul><li><a shape="rect" href="result-types.html">Result Types</a></li><li><a shape="rect" href="dispatcherlistener.html">DispatcherListener</a></li><li><a shape="rect" href="preresultlistener.html">PreResultListener</a></li></ul></li><li><a shape="rect" href="validation.html">Validation</a></li><li>
 <a shape="rect" href="localization.html">Localization</a><ul><li><a shape="rect" href="formatting-dates-and-numbers.html">Formatting Dates and Numbers</a></li></ul></li><li><a shape="rect" href="type-conversion.html">Type Conversion</a></li><li><a shape="rect" href="static-content.html">Static Content</a></li><li>Portlets<ul><li><a shape="rect" href="struts-2-portlet-tutorial.html">Tutorial</a></li><li><a shape="rect" href="portlet-plugin.html">Configuration/Documentation</a></li></ul></li><li><a shape="rect" href="logging.html">Logging</a></li><li><a shape="rect" href="faqs.html">FAQs</a><ul><li><a shape="rect" href="struts-2-maven-archetypes.html">Struts 2 Maven Archetypes</a></li><li><a shape="rect" href="cookbook.html">Cookbook</a></li></ul></li><li><a shape="rect" class="external-link" href="http://struts.apache.org/maven/struts2-core/apidocs/index.html">Javadoc APIs</a></li></ul></td></tr></tbody></table></div><h2 id="Guides-TagDevelopersGuidehttps://cwiki.apache.org/confluenc
 e/pages/viewpage.action?pageId=14324"><a shape="rect" href="tag-developers-guide.html">Tag Developers Guide</a></h2><p>The framework offers a flexible view layer that supports multiple view technologies, including JSP, FreeMaker, and Velocity.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="struts-tags.html">Struts Tags</a><ul><li><a shape="rect" href="generic-tags.html">Generic Tags</a></li><li><a shape="rect" href="ui-tags.html">UI Tags</a></li><li><a shape="rect" href="themes-and-templates.html">Themes and Templates</a></li><li><a shape="rect" href="tag-reference.html">Tag Reference</a></li><li><a shape="rect" href="ajax-tags.html">Ajax Tags</a><ul><li><a shape="rect" href="ajax-and-javascript-recipes.html">Ajax and JavaScript Recipes</a></li></ul></li></ul></li><li><a shape="rect" href="ognl.html">OGNL</a></li><li><a shape="rect" href="tag-syntax.html">Tag Syntax</a></li><li><a sh
 ape="rect" href="alt-syntax.html">Alt Syntax</a></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="jsp.html">JSP</a><ul><li><a shape="rect" href="jsp-tags.html">specific tags</a></li></ul></li><li><a shape="rect" href="freemarker.html">FreeMarker</a><ul><li><a shape="rect" href="freemarker-tags.html">specific tags</a></li></ul></li><li><a shape="rect" href="velocity.html">Velocity</a><ul><li><a shape="rect" href="velocity-tags.html">specific tags</a></li></ul></li></ul></td></tr></tbody></table></div><h2 id="Guides-PluginDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=44163"><a shape="rect" href="plugin-developers-guide.html">Plugin Developers Guide</a></h2><p>Apache Struts 2 provides a simple <a shape="rect" href="plugins.html">plugin architecture</a> so that developers can extend the framework just by adding a JAR to the application's classpath. Since plugins are contained in a JAR, they are easy to share w
 ith others. Several plugins are bundled with the framework, and others are available from third-party sources.</p><ul><li><a shape="rect" href="plugins.html">Plugins</a></li><li><a shape="rect" href="extending-an-application-with-custom-plugins.html">Extending an Application with Custom Plugins</a></li></ul><h3 id="Guides-BundledPlugins">Bundled Plugins</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="bean-validation-plugin.html">Bean Validation Plugin</a> (2.5+)</li><li><a shape="rect" href="cdi-plugin.html">CDI (JSR 299) Plugin</a> (2.3.1+)</li><li><a shape="rect" href="codebehind-plugin.html">Codebehind Plugin</a> (&lt; 2.5)</li><li><a shape="rect" href="config-browser-plugin.html">Config Browser Plugin</a></li><li><a shape="rect" href="convention-plugin.html">Convention Plugin</a> (2.1.3+)</li><li><a shape="rect" href="dwr-plugin.html">DWR Plugin</a></li><li><a shape="rect" href="
 embedded-jsp-plugin.html">Embedded JSP Plugin</a> (2.1.7+)</li><li><a shape="rect" href="jasperreports-plugin.html">JasperReports Plugin</a></li><li><a shape="rect" href="java-8-support-plugin.html">Java 8 Support Plugin</a> (2.3.21 - 2.5.2)</li><li><a shape="rect" href="javatemplates-plugin.html">Javatemplates Plugin</a> (2.1.3+)</li><li><a shape="rect" href="jfreechart-plugin.html">JFreeChart Plugin</a></li><li><a shape="rect" href="jsf-plugin.html">JSF Plugin</a> <span>(</span>&lt; 2.5<span>)</span></li><li><a shape="rect" href="json-plugin.html">JSON Plugin</a> (2.1.7+)</li><li><a shape="rect" href="junit-plugin.html">JUnit Plugin</a></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="oval-plugin.html">OVal Plugin</a> (2.1.7+)</li><li><a shape="rect" href="osgi-plugin.html">OSGi Plugin</a> (2.1.7+)</li><li><a shape="rect" href="plexus-plugin.html">Plexus Plugin</a></li><li><a shape="rect" href="portlet-plugin.html">Portlet Plugin</a></li
 ><li><a shape="rect" href="portlet-tiles-plugin.html">Portlet Tiles Plugin</a> (2.3.5+)</li><li><a shape="rect" href="rest-plugin.html">REST Plugin</a> (2.1.1+)</li><li><a shape="rect" href="sitegraph-plugin.html">SiteGraph Plugin</a></li><li><a shape="rect" href="sitemesh-plugin.html">SiteMesh Plugin</a></li><li><a shape="rect" href="spring-plugin.html">Spring Plugin</a></li><li><a shape="rect" href="struts-1-plugin.html">Struts 1 Plugin</a> <span>(</span>&lt; 2.5<span>)</span></li><li><a shape="rect" href="testng-plugin.html">TestNG Plugin</a></li><li><a shape="rect" href="tiles-plugin.html">Tiles Plugin</a></li><li><a shape="rect" href="tiles-3-plugin.html">Tiles 3 Plugin</a> (&lt; 2.5)</li></ul></td></tr></tbody></table></div><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For a complete list of bundled and third-part
 y plugins, visit the <a shape="rect" class="external-link" href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin Registry.</a>.</p><h2 id="Guides-ArchitectsGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=45478"><a shape="rect" href="architects-guide.html">Architects Guide</a></h2><p>
+            <div id="ConfluenceContent"><p>Our in-depth guides focus on specific areas of the framework, such as Views, the Core framework, and Third-party Extensions.</p><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>We started work on a new <a shape="rect" href="user-guide.html">User Guide</a>, that should simplify learning process. Please feel free to contribute!</p></div></div><h2 id="Guides-CoreDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=13945"><a shape="rect" href="core-developers-guide.html">Core Developers Guide</a></h2><p>Struts 2 processes requests using three core types: <a shape="rect" href="interceptor-configuration.html">interceptors</a>, <a shape="rect" href="action-configuration.html">actions</a>, and <a shape="rect" href="result-configuration.html">re
 sults</a>. Each may be configured via XML or annotations.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><ul><li>Developing Applications with Struts 2<ul><li><a shape="rect" href="nutshell.html">Nutshell</a></li><li><a shape="rect" href="ajax.html">AJAX</a></li><li><a shape="rect" href="dependency-injection.html">Dependency Injection</a></li><li><a shape="rect" href="profiling.html">Profiling</a></li><li><a shape="rect" href="debugging.html">Debugging</a></li><li><a shape="rect" href="devmode.html">Development Mode</a></li></ul></li><li>Configuration<ul><li><a shape="rect" href="convention-plugin.html">Configuration by Convention</a></li><li><a shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" href="configuration-elements.html">Configuration Elements</a><ul><li><a shape="rect" href="action-configuration.html">Actions</a>, <a shape="rect" href="wildcard-mappings.html">Wildcard Mappings</
 a>, <a shape="rect" href="bean-configuration.html">Beans</a>, <a shape="rect" href="constant-configuration.html">Constants</a></li><li><a shape="rect" href="exception-configuration.html">Exceptions</a>, <a shape="rect" href="include-configuration.html">Includes</a>, <a shape="rect" href="interceptor-configuration.html">Interceptors</a></li><li><a shape="rect" href="namespace-configuration.html">Namespaces</a>, <a shape="rect" href="package-configuration.html">Packages</a>, <a shape="rect" href="result-configuration.html">Results</a></li><li><a shape="rect" href="unknown-handlers.html">Unknown Handlers</a>, <a shape="rect" href="dispatcher.html">Dispatcher</a></li></ul></li><li><a shape="rect" href="configuration-files.html">Configuration Files</a><ul><li><a shape="rect" href="webxml.html">web.xml</a></li><li><a shape="rect" href="strutsxml.html">struts.xml</a></li><li><a shape="rect" href="strutsproperties.html">struts.properties</a></li><li><a shape="rect" href="struts-defaultxml.h
 tml">struts-default.xml</a></li><li><a shape="rect" href="velocityproperties.html">velocity.properties</a></li><li><a shape="rect" href="struts-defaultvm.html">struts-default.vm</a></li></ul></li><li><a shape="rect" href="application-servers.html">Application Servers</a></li><li><a shape="rect" href="performance-tuning.html">Performance Tuning</a></li></ul></li><li><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"><a shape="rect" href="security.html">Security</a></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="testing-actions.html">Testing Actions</a><ul><li><a shape="rect" class="external-link" href="https://depressedprogrammer.wordpress.com/2007/06/18/unit-testing-struts-2-actions-spring-junit/" rel="nofollow">(arsenalist)</a></li><li><a shape="rect" class="exte
 rnal-link" href="http://fassisrosa.blogspot.com/2006/11/unit-testing-struts-20.html" rel="nofollow">(rosa)</a></li></ul></li><li><a shape="rect" href="interceptors.html">Interceptors</a><ul><li><a shape="rect" href="writing-interceptors.html">Writing Interceptors</a></li><li><a shape="rect" href="parameters-interceptor.html">Excluding Parameters</a></li></ul></li><li>Actions<ul><li><a shape="rect" href="model-driven.html">Model Driven</a></li><li><a shape="rect" href="action-chaining.html">Action Chaining</a></li><li><a shape="rect" href="actioneventlistener.html">ActionEventListener</a></li></ul></li><li>Results<ul><li><a shape="rect" href="result-types.html">Result Types</a></li><li><a shape="rect" href="dispatcherlistener.html">DispatcherListener</a></li><li><a shape="rect" href="preresultlistener.html">PreResultListener</a></li></ul></li><li><a shape="rect" href="validation.html">Validation</a></li><li><a shape="rect" href="localization.html">Localization</a><ul><li><a shape="re
 ct" href="formatting-dates-and-numbers.html">Formatting Dates and Numbers</a></li></ul></li><li><a shape="rect" href="type-conversion.html">Type Conversion</a></li><li><a shape="rect" href="static-content.html">Static Content</a></li><li>Portlets<ul><li><a shape="rect" href="struts-2-portlet-tutorial.html">Tutorial</a></li><li><a shape="rect" href="portlet-plugin.html">Configuration/Documentation</a></li></ul></li><li><a shape="rect" href="logging.html">Logging</a></li><li><a shape="rect" href="faqs.html">FAQs</a><ul><li><a shape="rect" href="struts-2-maven-archetypes.html">Struts 2 Maven Archetypes</a></li><li><a shape="rect" href="cookbook.html">Cookbook</a></li></ul></li><li><a shape="rect" class="external-link" href="http://struts.apache.org/maven/struts2-core/apidocs/index.html">Javadoc APIs</a></li></ul></td></tr></tbody></table></div><h2 id="Guides-Struts2MavenArchetypeshttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=108820"><a shape="rect" href="struts-2-mav
 en-archetypes.html">Struts 2 Maven Archetypes</a></h2><p></p><div class="panel" style="border-width: 1px;"><div class="panelHeader" style="border-bottom-width: 1px;"><b>Struts 2 Maven Archetypes</b></div></div><h2 id="Guides-TagDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=14324"><a shape="rect" href="tag-developers-guide.html">Tag Developers Guide</a></h2><p>The framework offers a flexible view layer that supports multiple view technologies, including JSP, FreeMaker, and Velocity.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="struts-tags.html">Struts Tags</a><ul><li><a shape="rect" href="generic-tags.html">Generic Tags</a></li><li><a shape="rect" href="ui-tags.html">UI Tags</a></li><li><a shape="rect" href="themes-and-templates.html">Themes and Templates</a></li><li><a shape="rect" href="tag-reference.html">Tag Reference</a></li><li><a shape="rect"
  href="ajax-tags.html">Ajax Tags</a><ul><li><a shape="rect" href="ajax-and-javascript-recipes.html">Ajax and JavaScript Recipes</a></li></ul></li></ul></li><li><a shape="rect" href="ognl.html">OGNL</a></li><li><a shape="rect" href="tag-syntax.html">Tag Syntax</a></li><li><a shape="rect" href="alt-syntax.html">Alt Syntax</a></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="jsp.html">JSP</a><ul><li><a shape="rect" href="jsp-tags.html">specific tags</a></li></ul></li><li><a shape="rect" href="freemarker.html">FreeMarker</a><ul><li><a shape="rect" href="freemarker-tags.html">specific tags</a></li></ul></li><li><a shape="rect" href="velocity.html">Velocity</a><ul><li><a shape="rect" href="velocity-tags.html">specific tags</a></li></ul></li></ul></td></tr></tbody></table></div><h2 id="Guides-PluginDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=44163"><a shape="rect" href="plugin-developers-guide.html">Plugin Deve
 lopers Guide</a></h2><p>Apache Struts 2 provides a simple <a shape="rect" href="plugins.html">plugin architecture</a> so that developers can extend the framework just by adding a JAR to the application's classpath. Since plugins are contained in a JAR, they are easy to share with others. Several plugins are bundled with the framework, and others are available from third-party sources.</p><ul><li><a shape="rect" href="plugins.html">Plugins</a></li><li><a shape="rect" href="extending-an-application-with-custom-plugins.html">Extending an Application with Custom Plugins</a></li></ul><h3 id="Guides-BundledPlugins">Bundled Plugins</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a shape="rect" href="bean-validation-plugin.html">Bean Validation Plugin</a> (2.5+)</li><li><a shape="rect" href="cdi-plugin.html">CDI (JSR 299) Plugin</a> (2.3.1+)</li><li><a shape="rect" href="codebehind-plugin.html">Codebehind Plugin
 </a> (&lt; 2.5)</li><li><a shape="rect" href="config-browser-plugin.html">Config Browser Plugin</a></li><li><a shape="rect" href="convention-plugin.html">Convention Plugin</a> (2.1.3+)</li><li><a shape="rect" href="dwr-plugin.html">DWR Plugin</a></li><li><a shape="rect" href="embedded-jsp-plugin.html">Embedded JSP Plugin</a> (2.1.7+)</li><li><a shape="rect" href="jasperreports-plugin.html">JasperReports Plugin</a></li><li><a shape="rect" href="java-8-support-plugin.html">Java 8 Support Plugin</a> (2.3.21 - 2.5.2)</li><li><a shape="rect" href="javatemplates-plugin.html">Javatemplates Plugin</a> (2.1.3+)</li><li><a shape="rect" href="jfreechart-plugin.html">JFreeChart Plugin</a></li><li><a shape="rect" href="jsf-plugin.html">JSF Plugin</a> <span>(</span>&lt; 2.5<span>)</span></li><li><a shape="rect" href="json-plugin.html">JSON Plugin</a> (2.1.7+)</li><li><a shape="rect" href="junit-plugin.html">JUnit Plugin</a></li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><ul><li><a
  shape="rect" href="oval-plugin.html">OVal Plugin</a> (2.1.7+)</li><li><a shape="rect" href="osgi-plugin.html">OSGi Plugin</a> (2.1.7+)</li><li><a shape="rect" href="plexus-plugin.html">Plexus Plugin</a></li><li><a shape="rect" href="portlet-plugin.html">Portlet Plugin</a></li><li><a shape="rect" href="portlet-tiles-plugin.html">Portlet Tiles Plugin</a> (2.3.5+)</li><li><a shape="rect" href="rest-plugin.html">REST Plugin</a> (2.1.1+)</li><li>Deprecated: <a shape="rect" href="sitegraph-plugin.html">SiteGraph Plugin</a></li><li><a shape="rect" href="sitemesh-plugin.html">SiteMesh Plugin</a></li><li><a shape="rect" href="spring-plugin.html">Spring Plugin</a></li><li><a shape="rect" href="struts-1-plugin.html">Struts 1 Plugin</a> <span>(</span>&lt; 2.5<span>)</span></li><li><a shape="rect" href="testng-plugin.html">TestNG Plugin</a></li><li><a shape="rect" href="tiles-plugin.html">Tiles Plugin</a></li><li><a shape="rect" href="tiles-3-plugin.html">Tiles 3 Plugin</a> (&lt; 2.5)</li></ul>
 </td></tr></tbody></table></div><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For a complete list of bundled and third-party plugins, visit the <a shape="rect" class="external-link" href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin Registry.</a>.</p><h2 id="Guides-ArchitectsGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=45478"><a shape="rect" href="architects-guide.html">Architects Guide</a></h2><p>
 </p><ul><li><a shape="rect" href="big-picture.html">Big Picture</a>
 	<ul><li><a shape="rect" href="objectfactory.html">ObjectFactory</a></li><li><a shape="rect" href="actionmapper.html">ActionMapper</a></li><li><a shape="rect" href="action-proxy-actionproxy-factory.html">Action Proxy &amp; ActionProxy Factory</a></li><li><a shape="rect" href="configuration-provider-configuration.html">Configuration Provider &amp; Configuration</a></li></ul>
 	</li></ul><h2 id="Guides-MigrationGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=13981"><a shape="rect" href="migration-guide.html">Migration Guide</a></h2><p>Getting here from there.</p><h3 id="Guides-VersionNotes2.5.x">Version Notes 2.5.x</h3><ul><li><a shape="rect" href="version-notes-25101.html">Version Notes 2.5.10.1</a></li><li><a shape="rect" href="version-notes-2510.html">Version Notes 2.5.10</a></li><li><a shape="rect" href="version-notes-258.html">Version Notes 2.5.8</a></li><li><a shape="rect" href="version-notes-255.html">Version Notes 2.5.5</a></li><li><a shape="rect" href="version-notes-252.html">Version Notes 2.5.2</a></li><li><a shape="rect" href="version-notes-251.html">Version Notes 2.5.1</a></li><li><a shape="rect" href="version-notes-25.html">Version Notes 2.5</a></li></ul><h3 id="Guides-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><a shape="rect" href="version-notes-2332.html">Version Notes 2.3.32</a></li><li><a shape="rect" href="v
 ersion-notes-2331.html">Version Notes 2.3.31</a></li><li><a shape="rect" href="version-notes-2330.html">Version Notes 2.3.30</a></li><li><a shape="rect" href="version-notes-2329.html">Version Notes 2.3.29</a></li><li><a shape="rect" href="version-notes-23281.html">Version Notes 2.3.28.1</a></li><li><a shape="rect" href="version-notes-2328.html">Version Notes 2.3.28</a></li><li><a shape="rect" href="version-notes-23243.html">Version Notes 2.3.24.3</a></li><li><a shape="rect" href="version-notes-23241.html">Version Notes 2.3.24.1</a></li><li><a shape="rect" href="version-notes-2324.html">Version Notes 2.3.24</a></li><li><a shape="rect" href="version-notes-23203.html">Version Notes 2.3.20.3</a></li><li><a shape="rect" href="version-notes-23201.html">Version Notes 2.3.20.1</a></li><li><a shape="rect" href="version-notes-2320.html">Version Notes 2.3.20</a></li><li><a shape="rect" href="version-notes-23163.html">Version Notes 2.3.16.3</a></li><li><a shape="rect" href="version-notes-23162.
 html">Version Notes 2.3.16.2</a></li><li><a shape="rect" href="version-notes-2316.html">Version Notes 2.3.16.1</a></li><li><a shape="rect" href="version-notes-2316.html">Version Notes 2.3.16</a></li><li><a shape="rect" href="version-notes-23153.html">Version Notes 2.3.15.3</a></li><li><a shape="rect" href="version-notes-23152.html">Version Notes 2.3.15.2</a></li><li><a shape="rect" href="version-notes-23151.html">Version Notes 2.3.15.1</a></li><li><a shape="rect" href="version-notes-2315.html">Version Notes 2.3.15</a></li><li><a shape="rect" href="version-notes-23143.html">Version Notes 2.3.14.3</a></li><li><a shape="rect" href="version-notes-23142.html">Version Notes 2.3.14.2</a></li><li><a shape="rect" href="version-notes-23141.html">Version Notes 2.3.14.1</a></li><li><a shape="rect" href="version-notes-2314.html">Version Notes 2.3.14</a></li><li><a shape="rect" href="version-notes-23120.html">Version Notes 2.3.12.0</a></li><li><a shape="rect" href="version-notes-238.html">Version
  Notes 2.3.8</a></li><li><a shape="rect" href="version-notes-237.html">Version Notes 2.3.7</a></li><li><a shape="rect" href="version-notes-2341.html">Version Notes 2.3.4.1</a></li><li><a shape="rect" href="version-notes-234.html">Version Notes 2.3.4</a></li><li><a shape="rect" href="version-notes-233.html">Version Notes 2.3.3</a></li><li><a shape="rect" href="version-notes-2312.html">Version Notes 2.3.1.2</a></li><li><a shape="rect" href="version-notes-2311.html">Version Notes 2.3.1.1</a></li><li><a shape="rect" href="version-notes-231.html">Version Notes 2.3.1</a></li></ul><h3 id="Guides-VersionNotes2.2.x">Version Notes 2.2.x</h3><ul><li><a shape="rect" href="version-notes-2231.html">Version Notes 2.2.3.1</a></li><li><a shape="rect" href="version-notes-223.html">Version Notes 2.2.3</a></li><li><a shape="rect" href="version-notes-2211.html">Version Notes 2.2.1.1</a></li><li><a shape="rect" href="version-notes-221.html">Version Notes 2.2.1</a></li></ul><h3 id="Guides-VersionNotes2.1.
 x">Version Notes 2.1.x</h3><ul><li><a shape="rect" href="version-notes-2181.html">Version Notes 2.1.8.1</a></li><li><a shape="rect" href="version-notes-218.html">Version Notes 2.1.8</a></li><li><a shape="rect" href="version-notes-216.html">Version Notes 2.1.6</a></li><li><a shape="rect" href="version-notes-215.html">Version Notes 2.1.5</a></li><li><a shape="rect" href="version-notes-214.html">Version Notes 2.1.4</a></li><li><a shape="rect" href="version-notes-213.html">Version Notes 2.1.3</a></li><li><a shape="rect" href="version-notes-212.html">Version Notes 2.1.2</a></li><li><a shape="rect" href="version-notes-211.html">Version Notes 2.1.1</a></li><li><a shape="rect" href="version-notes-210.html">Version Notes 2.1.0</a></li></ul><h3 id="Guides-ReleaseNotes2.0.x">Release Notes 2.0.x</h3><ul><li><a shape="rect" href="release-notes-2014.html">Release Notes 2.0.14</a></li><li><a shape="rect" href="release-notes-2013.html">Release Notes 2.0.13</a></li><li><a shape="rect" href="release-
 notes-2012.html">Release Notes 2.0.12</a></li><li><a shape="rect" href="release-notes-20112.html">Release Notes 2.0.11.2</a></li><li><a shape="rect" href="release-notes-20111.html">Release Notes 2.0.11.1</a></li><li><a shape="rect" href="release-notes-2011.html">Release Notes 2.0.11</a></li><li><a shape="rect" href="release-notes-2010.html">Release Notes 2.0.10</a></li><li><a shape="rect" href="release-notes-209.html">Release Notes 2.0.9</a></li><li><a shape="rect" href="release-notes-208.html">Release Notes 2.0.8</a></li><li><a shape="rect" href="release-notes-207.html">Release Notes 2.0.7</a></li><li><a shape="rect" href="release-notes-206.html">Release Notes 2.0.6</a></li><li><a shape="rect" href="release-notes-205.html">Release Notes 2.0.5</a></li><li><a shape="rect" href="release-notes-204.html">Release Notes 2.0.4</a></li><li><a shape="rect" href="release-notes-203.html">Release Notes 2.0.3</a></li><li><a shape="rect" href="release-notes-202.html">Release Notes 2.0.2</a></li><
 li><a shape="rect" href="release-notes-201.html">Release Notes 2.0.1</a></li><li><a shape="rect" href="release-notes-200.html">Release Notes 2.0.0</a></li></ul><h3 id="Guides-Struts2.3toStruts2.5">Struts 2.3 to Struts 2.5</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" href="struts-23-to-25-migration.html">Struts 2.3 to 2.5 migration</a></p></th><td colspan="1" rowspan="1" class="confluenceTd">Migration guide.</td></tr></tbody></table></div><h3 id="Guides-Struts1toStruts2">Struts 1 to Struts 2</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" href="comparing-struts-1-and-2.html">Comparing Struts 1 and 2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>How are Struts 1 and Struts 2 alike? How are they different?</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect
 " href="struts-1-solutions.html">Struts 1 Solutions</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Various issues (and hopefully their solutions!) encountered during migrations to Struts 2.</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" href="migration-strategies.html">Migration Strategies</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies for migrating Struts 1 applications to Struts 2.</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" href="migration-tools.html">Migration Tools</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Development tools to help aid the migration process.</p></td></tr></tbody></table></div><h4 id="Guides-Tutorials">Tutorials</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" class="external-link" href="http://www.infoq.com/news/
 migrating-struts2" rel="nofollow">Migrating Applications to Struts 2 </a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>A three-part series by Ian Roughley (Sep 2006)</p></td></tr></tbody></table></div><h4 id="Guides-Roadmap">Roadmap</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" class="external-link" href="http://struts.apache.org/roadmap.html#new">Roadmap FAQ</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What's in store for Struts 2?</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" class="external-link" href="http://www.oreillynet.com/onjava/blog/2006/10/my_history_of_struts_2.html" rel="nofollow">A History of Struts 2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Don Brown's summary of events</p></td></tr></tbody></table></div><h3 id="Guides-Webwork2.2toStruts2">Webwork 2.2 to Struts 2</h3><div class="tabl
 e-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" href="key-changes-from-webwork-2.html">Key Changes From WebWork 2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What has been removed or changed from WebWork 2.2 to Struts 2</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" href="webwork-2-migration-strategies.html">WebWork 2 Migration Strategies</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies for migrating WebWork 2 applications to Struts 2.</p></td></tr></tbody></table></div><h2 id="Guides-ContributorsGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=14041"><a shape="rect" href="contributors-guide.html">Contributors Guide</a></h2><p>
@@ -134,7 +134,7 @@ under the License.
 
 <ul><li><a shape="rect" href="building-the-framework-from-source.html">Building the Framework from Source</a>
 	<ul><li><a shape="rect" href="building-with-maven.html">Building with Maven</a></li></ul>
-	</li><li><a shape="rect" href="creating-and-signing-a-distribution.html">Creating and Signing a Distribution</a></li><li><a shape="rect" href="requirements.html">Requirements</a> and <a shape="rect" href="use-cases.html">Use Cases</a> - <img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> <em>under construction</em></li><li><a shape="rect" href="precise-error-reporting.html">Precise Error Reporting</a></li><li><a shape="rect" href="obtaining-an-idea-license.html">Obtaining an IDEA license</a></li><li><a shape="rect" class="external-link" href="http://java.sun.com/j2se/javadoc/writingdoccomments/" rel="nofollow">How to Write Doc Comments for the Javadoc Tool</a> (Sun)</li></ul>
+	</li><li><a shape="rect" href="creating-and-signing-a-distribution.html">Creating and Signing a Distribution</a></li><li><a shape="rect" href="requirements.html">Requirements</a> and <a shape="rect" href="use-cases.html">Use Cases</a> - <img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> <em>under construction</em></li><li><a shape="rect" href="precise-error-reporting.html">Precise Error Reporting</a></li><li><a shape="rect" href="obtaining-an-idea-license.html">Obtaining an IDEA license</a></li><li><a shape="rect" class="external-link" href="http://java.sun.com/j2se/javadoc/writingdoccomments/" rel="nofollow">How to Write Doc Comments for the Javadoc Tool</a> (Sun)</li></ul>
 
 
 <h3 id="Guides-Documentation">Documentation</h3>
@@ -164,6 +164,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/interceptors.html
==============================================================================
--- websites/production/struts/content/docs/interceptors.html (original)
+++ websites/production/struts/content/docs/interceptors.html Fri Jul  7 16:46:14 2017
@@ -140,11 +140,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><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>The default Interceptor stack is designed to serve the needs of most applications. Most applications will <strong>not</strong> need to add Interceptors or change the Interceptor stack.</p></div></div><p>Many Actions share common concerns. Some Actions need input validated. Other Actions may need a file upload to be pre-processed. Another Action might need protection from a double submit. Many Actions need drop-down lists and other controls pre-populated before the page displays.</p><p>The framework makes it easy to share solutions to these concerns using an "Interceptor" strategy. When you request a resource that maps to an "action", the framework invokes the Action object. But, before the Action is executed, the invocatio
 n can be intercepted by another object. After the Action executes, the invocation could be intercepted again. Unsurprisingly, we call these objects "Interceptors."</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1494398043379 {padding: 0px;}
-div.rbtoc1494398043379 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1494398043379 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1499445161108 {padding: 0px;}
+div.rbtoc1499445161108 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1499445161108 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1494398043379">
+/*]]>*/</style></p><div class="toc-macro rbtoc1499445161108">
 <ul class="toc-indentation"><li><a shape="rect" href="#Interceptors-UnderstandingInterceptors">Understanding Interceptors</a></li><li><a shape="rect" href="#Interceptors-ConfiguringInterceptors">Configuring Interceptors</a></li><li><a shape="rect" href="#Interceptors-StackingInterceptors">Stacking Interceptors</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Interceptors-TheDefaultConfiguration">The Default Configuration</a></li></ul>
 </li><li><a shape="rect" href="#Interceptors-FrameworkInterceptors">Framework Interceptors</a>
@@ -317,8 +317,10 @@ div.rbtoc1494398043379 li {margin-left:
     &lt;bean type=&quot;com.opensymphony.xwork2.conversion.impl.NumberConverter&quot; name=&quot;struts&quot; class=&quot;com.opensymphony.xwork2.conversion.impl.NumberConverter&quot; scope=&quot;singleton&quot;/&gt;
     &lt;bean type=&quot;com.opensymphony.xwork2.conversion.impl.StringConverter&quot; name=&quot;struts&quot; class=&quot;com.opensymphony.xwork2.conversion.impl.StringConverter&quot; scope=&quot;singleton&quot;/&gt;
 
+    &lt;bean type=&quot;com.opensymphony.xwork2.LocalizedTextProvider&quot; name=&quot;global-only&quot; class=&quot;com.opensymphony.xwork2.util.GlobalLocalizedTextProvider&quot; scope=&quot;singleton&quot; /&gt;
+    &lt;bean type=&quot;com.opensymphony.xwork2.LocalizedTextProvider&quot; name=&quot;struts&quot; class=&quot;com.opensymphony.xwork2.util.StrutsLocalizedTextProvider&quot; scope=&quot;singleton&quot; /&gt;
+
     &lt;bean type=&quot;com.opensymphony.xwork2.TextProvider&quot; name=&quot;system&quot; class=&quot;com.opensymphony.xwork2.DefaultTextProvider&quot; scope=&quot;singleton&quot; /&gt;
-    &lt;bean type=&quot;com.opensymphony.xwork2.LocalizedTextProvider&quot; name=&quot;struts&quot; class=&quot;com.opensymphony.xwork2.util.DefaultLocalizedTextProvider&quot; scope=&quot;singleton&quot; /&gt;
     &lt;bean type=&quot;com.opensymphony.xwork2.TextProviderFactory&quot; name=&quot;struts&quot; class=&quot;com.opensymphony.xwork2.StrutsTextProviderFactory&quot; scope=&quot;singleton&quot; /&gt;
     &lt;bean type=&quot;com.opensymphony.xwork2.LocaleProviderFactory&quot; name=&quot;struts&quot; class=&quot;com.opensymphony.xwork2.DefaultLocaleProviderFactory&quot; scope=&quot;singleton&quot; /&gt;
 
@@ -693,7 +695,7 @@ includeMethods takes precedence over exc
   &lt;interceptor-ref name="thisWillRunLastInterceptor"/&gt;
 &lt;/interceptor-stack&gt;
 </pre>
-</div></div><p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Note that some Interceptors will interrupt the stack/chain/flow ... so the order is very important.</p><p>Interceptors implementing <code>com.opensymphony.xwork2.interceptor.PreResultListener</code> will run after the Action executes but before the Result executes.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Note that some Interceptors will interrupt the stack/chain/flow ... so the order is very important.</p><p>Interceptors implementing <code>com.opensymphony.xwork2.interceptor.PreResultListener</code> will run after the Action executes but before the Result executes.</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;">thisWillRunFirstInterceptor
   thisWillRunNextInterceptor
     followedByThisInterceptor

Modified: websites/production/struts/content/docs/jasperreports-plugin.html
==============================================================================
--- websites/production/struts/content/docs/jasperreports-plugin.html (original)
+++ websites/production/struts/content/docs/jasperreports-plugin.html Fri Jul  7 16:46:14 2017
@@ -222,7 +222,7 @@ is not set to false.
 
 <hr>
 
-<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> See also <a shape="rect" class="external-link" href="http://www.vitarara.org/cms/node/131http://www.vitarara.org/cms/node/131" rel="nofollow">Compiling JasperReports JRXML Files with Maven</a> (Mark Menard)</p></div>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> See also <a shape="rect" class="external-link" href="http://www.vitarara.org/cms/node/131http://www.vitarara.org/cms/node/131" rel="nofollow">Compiling JasperReports JRXML Files with Maven</a> (Mark Menard)</p></div>
         </div>
 
         



Mime
View raw message