Author: lukaszlenart
Date: Sun Sep 21 09:44:02 2014
New Revision: 923049

Log:
Updates production

Modified:
    websites/production/struts/content/development/2.x/docs/actionmapper.html
    websites/production/struts/content/development/2.x/docs/file-upload.html
    websites/production/struts/content/development/2.x/docs/interceptors.html
    websites/production/struts/content/development/2.x/docs/migration-guide.html
    
websites/production/struts/content/development/2.x/docs/sitegraph-plugin.html
    websites/production/struts/content/development/2.x/docs/spring-plugin.html
    websites/production/struts/content/development/2.x/docs/type-conversion.html
    websites/production/struts/content/development/2.x/docs/validation.html
    
websites/production/struts/content/development/2.x/docs/version-notes-2318.html

Modified: 
websites/production/struts/content/development/2.x/docs/actionmapper.html
==============================================================================
--- websites/production/struts/content/development/2.x/docs/actionmapper.html 
(original)
+++ websites/production/struts/content/development/2.x/docs/actionmapper.html 
Sun Sep 21 09:44:02 2014
@@ -139,11 +139,11 @@ under the License. 
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><style type="text/css">/*<![CDATA[*/
-div.rbtoc1405758432629 {padding: 0px;}
-div.rbtoc1405758432629 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1405758432629 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1411292178688 {padding: 0px;}
+div.rbtoc1411292178688 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1411292178688 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1405758432629">
+/*]]>*/</style><div class="toc-macro rbtoc1411292178688">
 <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></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>

Modified: 
websites/production/struts/content/development/2.x/docs/file-upload.html
==============================================================================
--- websites/production/struts/content/development/2.x/docs/file-upload.html 
(original)
+++ websites/production/struts/content/development/2.x/docs/file-upload.html 
Sun Sep 21 09:44:02 2014
@@ -139,11 +139,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.rbtoc1406303008504 {padding: 0px;}
-div.rbtoc1406303008504 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1406303008504 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1411292312450 {padding: 0px;}
+div.rbtoc1411292312450 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1411292312450 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1406303008504">
+/*]]>*/</style></p><div class="toc-macro rbtoc1411292312450">
 <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/development/2.x/docs/interceptors.html
==============================================================================
--- websites/production/struts/content/development/2.x/docs/interceptors.html 
(original)
+++ websites/production/struts/content/development/2.x/docs/interceptors.html 
Sun Sep 21 09:44:02 2014
@@ -145,11 +145,11 @@ under the License. 
                     </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 invocation 
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.rbtoc1405758310004 {padding: 0px;}
-div.rbtoc1405758310004 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1405758310004 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1411292100725 {padding: 0px;}
+div.rbtoc1411292100725 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1411292100725 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1405758310004">
+/*]]>*/</style></p><div class="toc-macro rbtoc1411292100725">
 <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>

Modified: 
websites/production/struts/content/development/2.x/docs/migration-guide.html
==============================================================================
--- 
websites/production/struts/content/development/2.x/docs/migration-guide.html 
(original)
+++ 
websites/production/struts/content/development/2.x/docs/migration-guide.html 
Sun Sep 21 09:44:02 2014
@@ -125,7 +125,7 @@ under the License. 
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><p>Getting here from there.</p><h3 
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><p><a 
shape="rect" href="version-notes-2318.html">Version Notes 2.3.18</a> <img 
class="emoticon emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)"> This version is not yet 
released!</p></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 sha
 pe="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="MigrationGuide-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="MigrationGuide-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="MigrationGuide-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="MigrationGuide-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 shap
 e="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 mig
 ration process.</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-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="MigrationGuide-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="MigrationGuide-Webwork2.2toStruts2">Webwork 2.2 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="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="MigrationGuide-FAQs">FAQs</h2><ul><li><
 a shape="rect" 
href="where-do-we-get-the-latest-version-the-framework.html">Where do we get 
the latest version the framework</a>?</li><li><a shape="rect" 
href="what-are-some-of-the-frameworks-best-features.html">What are some of the 
framework's best features</a>?</li><li><a shape="rect" 
href="what-is-the-actioncontext.html">What is the 
ActionContext?</a></li></ul><h2 id="MigrationGuide-Next:">Next: <a shape="rect" 
href="contributors-guide.html">Contributors Guide</a></h2></div>
+            <div id="ConfluenceContent"><p>Getting here from there.</p><h3 
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><p><a 
shape="rect" href="version-notes-2318.html">Version Notes 
2.3.18</a></p></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="ver
 sion-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="MigrationGuide-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="MigrationGuide-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="MigrationGuide-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 sha
 pe="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="MigrationGuide-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="MigrationGuide-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="MigrationGuide-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="MigrationGuide-Webwork2.2toStruts2">Webwor
 k 2.2 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="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="MigrationGuide-FAQs">FAQs</h2><ul><li><a shape="rect" 
href="where-do-we-get-the-latest-version-the-framework.html">Where do we get 
the latest version the framework</a>?</li><li><a shape="rect" 
href="what-are-some-of-the-frameworks-best-features.html">What are some of the 
framework's best features</a>?</
 li><li><a shape="rect" href="what-is-the-actioncontext.html">What is the 
ActionContext?</a></li></ul><h2 id="MigrationGuide-Next:">Next: <a shape="rect" 
href="contributors-guide.html">Contributors Guide</a></h2></div>
         </div>
 
                     <div class="tabletitle">

Modified: 
websites/production/struts/content/development/2.x/docs/sitegraph-plugin.html
==============================================================================
--- 
websites/production/struts/content/development/2.x/docs/sitegraph-plugin.html 
(original)
+++ 
websites/production/struts/content/development/2.x/docs/sitegraph-plugin.html 
Sun Sep 21 09:44:02 2014
@@ -179,7 +179,8 @@ siteGraph.render();
         <table><tr><td colspan="1" rowspan="1" class="gallery-image" 
style="width: 300px">
                                     <a shape="rect" class="gallery-link" 
href="sitegraph-plugin.data/example.gif?api=v2" rel="gallery-0" 
target="_gallery_slideshow" title=""><img border="0" 
src="sitegraph-plugin.thumbs/example.gif" width="300" height="243"></a>
                                 </td></tr><tr><td colspan="1" 
rowspan="1"></td></tr></table>
-</div><h4 id="SiteGraphPlugin-Settings">Settings</h4><p>This plugin doesn't 
allow for any global settings.</p><h4 
id="SiteGraphPlugin-Installation">Installation</h4><p>The SiteGraph plugin jar 
is distributed with Struts, so if you're up and running, you don't need to do 
download any additional Java packages. However, SiteGraph does require the 
"dot" package by <a shape="rect" class="external-link" 
href="http://www.graphviz.org"; rel="nofollow">GraphViz</a>.</p><p>You'll need 
to download the latest version of GraphViz and make sure that the dot 
executable (dot.exe in Windows) is in your command path. In Windows the 
GraphViz installer typically automatically adds <code>dot.exe</code> to your 
path. However, you may need to do this by hand depending on your system 
configuration.</p></div>
+</div>
+<h4 id="SiteGraphPlugin-Settings">Settings</h4><p>This plugin doesn't allow 
for any global settings.</p><h4 
id="SiteGraphPlugin-Installation">Installation</h4><p>The SiteGraph plugin jar 
is distributed with Struts, so if you're up and running, you don't need to do 
download any additional Java packages. However, SiteGraph does require the 
"dot" package by <a shape="rect" class="external-link" 
href="http://www.graphviz.org"; rel="nofollow">GraphViz</a>.</p><p>You'll need 
to download the latest version of GraphViz and make sure that the dot 
executable (dot.exe in Windows) is in your command path. In Windows the 
GraphViz installer typically automatically adds <code>dot.exe</code> to your 
path. However, you may need to do this by hand depending on your system 
configuration.</p></div>
         </div>
 
         

Modified: 
websites/production/struts/content/development/2.x/docs/spring-plugin.html
==============================================================================
--- websites/production/struts/content/development/2.x/docs/spring-plugin.html 
(original)
+++ websites/production/struts/content/development/2.x/docs/spring-plugin.html 
Sun Sep 21 09:44:02 2014
@@ -144,128 +144,58 @@ under the License. 
                             <p><a shape="rect" class="external-link" 
href="http://www.springframework.org"; rel="nofollow">Spring</a> is a 
lightweight container, providing centralized, automated configuration and 
wiring of your application objects, using a technique called "Dependency 
Injection"</p>
                     </div>
     </div>
-
-
-<p>The Spring Plugin works by overriding the Struts <a shape="rect" 
href="objectfactory.html">ObjectFactory</a> to enhance the creation of core 
framework objects.  When an object is to be created, it uses the 
<code>class</code> attribute in the Struts configuration to correspond to the 
<code>id</code> attribute in the Spring configuration.  If not found, the class 
will try to be created as usual, then be autowired by Spring.  In the case of 
Actions, Spring 2's <a shape="rect" class="external-link" 
href="http://www.springframework.org/docs/reference/beans.html#beans-factory-scopes";
 rel="nofollow">bean scope feature</a> can be used to scope an Action instance 
to the session, application, or a custom scope, providing advanced 
customization above the default per-request scoping.</p>
-
-    <div class="aui-message warning shadowed information-macro">
+<p>The Spring Plugin works by overriding the Struts <a shape="rect" 
href="objectfactory.html">ObjectFactory</a> to enhance the creation of core 
framework objects. When an object is to be created, it uses the 
<code>class</code> attribute in the Struts configuration to correspond to the 
<code>id</code> attribute in the Spring configuration. If not found, the class 
will try to be created as usual, then be autowired by Spring. In the case of 
Actions, Spring 2's <a shape="rect" class="external-link" 
href="http://www.springframework.org/docs/reference/beans.html#beans-factory-scopes";
 rel="nofollow">bean scope feature</a> can be used to scope an Action instance 
to the session, application, or a custom scope, providing advanced 
customization above the default per-request scoping.</p>    <div 
class="aui-message warning shadowed information-macro">
                     <p class="title">Spring Actions are Optional!</p>
                             <span class="aui-icon icon-warning">Icon</span>
                 <div class="message-content">
-                            
-<p>Remember: <strong>registering Actions with Spring is not required</strong>. 
The Spring alternative is there if you need it, but the framework will 
automatically create Actions objects from the action mappings. But, if you want 
to use Spring to inject your Actions, the option is there.</p>
+                            <p>Remember: <strong>registering Actions with 
Spring is not required</strong>. The Spring alternative is there if you need 
it, but the framework will automatically create Actions objects from the action 
mappings. But, if you want to use Spring to inject your Actions, the option is 
there.</p>
                     </div>
     </div>
-
-
-<h4 id="SpringPlugin-Features">Features</h4>
-
-<ul><li>Allow Actions, Interceptors, and Results to be created by 
Spring</li><li>Struts-created objects can be autowired by Spring after 
creation</li><li>Provides two interceptors that autowire actions, if not using 
the Spring ObjectFactory</li></ul>
-
-
-<h2 id="SpringPlugin-Usage">Usage</h2>
-
-<p>To enable Spring integration, simply include 
struts2-spring-plugin-x-x-x.jar in your application.</p>
-
-<p>If you are using more than one object factory, (for example, by including 
both the Spring and Plexus plugins in your application,) you will need to set 
the struts.objectFactory property in <a shape="rect" 
href="strutsproperties.html">struts.properties</a> or in one of several XML 
files via <a shape="rect" href="constant-configuration.html">Constant 
Configuration</a>:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 
1px;"><b>struts.properties</b></div><div class="codeContent panelContent pdl">
+<h4 id="SpringPlugin-Features">Features</h4><ul><li>Allow Actions, 
Interceptors, and Results to be created by Spring</li><li>Struts-created 
objects can be autowired by Spring after creation</li><li>Provides two 
interceptors that autowire actions, if not using the Spring 
ObjectFactory</li></ul><h2 id="SpringPlugin-Usage">Usage</h2><p>To enable 
Spring integration, simply include struts2-spring-plugin-x-x-x.jar in your 
application.</p><p>If you are using more than one object factory, (for example, 
by including both the Spring and Plexus plugins in your application,) you will 
need to set the struts.objectFactory property in <a shape="rect" 
href="strutsproperties.html">struts.properties</a> or in one of several XML 
files via <a shape="rect" href="constant-configuration.html">Constant 
Configuration</a>:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>struts.properties</b></div><div class="codeContent pa
 nelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[struts.objectFactory = spring]]></script>
-</div></div>
-
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>struts.xml</b></div><div 
class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;struts&gt;
+</div></div><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>struts.xml</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;struts&gt;
   &lt;constant name=&quot;struts.objectFactory&quot; value=&quot;spring&quot; 
/&gt;
   ... 
 &lt;/struts&gt;
 ]]></script>
-</div></div>
-
-<h4 id="SpringPlugin-Autowiring">Autowiring</h4>
-
-<p>The framework enables "autowiring" by default. (Autowiring means to look 
for objects defined in Spring with the same name as your object property). To 
change the wiring mode, modify the <code>spring.autowire</code> property.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Wiring Mode</b></div><div 
class="codeContent panelContent pdl">
+</div></div><h4 id="SpringPlugin-Autowiring">Autowiring</h4><p>The framework 
enables "autowiring" by default. (Autowiring means to look for objects defined 
in Spring with the same name as your object property). To change the wiring 
mode, modify the <code>spring.autowire</code> property.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Wiring Mode</b></div><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[struts.objectFactory.spring.autoWire = 
type]]></script>
-</div></div>
-
-<p>The <code>autowire</code> property can be set to several options. </p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> name </p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Auto-wire by matching the name of the bean 
in Spring with the name of the property in your action. <strong>This is the 
default</strong> </p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p> type </p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Auto-wire by looking for a bean registered with Spring 
of the same type as the property in your action. This requires you to have only 
one bean of this type registered with Spring </p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p> auto </p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Spring will attempt to auto-detect the best method for 
auto-wiring your action </p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p> constructor </p></th><td colspan="1" rowspan="1" 
class="confluenceTd"
 ><p> Spring will auto-wire the parameters of the bean's constructor 
 ></p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> no 
 ></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> Turn off 
 >externally defined autowiring. Annotation-driven injection and injection 
 >based on Springs *Aware-interfaces still applies 
 ></p></td></tr></tbody></table></div>
-
-
-<p>By default, the framework will at least try to use Spring to create all its 
objects. If the object cannot be created by Spring, then the framework will 
create the object itself. </p>
-
-<p>Enabling Spring integration for other application objects is a two-step 
process. </p>
-
-<ul><li>Configure the Spring listener</li></ul>
-
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>web.xml</b></div><div 
class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;listener&gt;
+</div></div><p>The <code>autowire</code> property can be set to several 
options.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>name</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Auto-wire by matching the name of the bean in Spring 
with the name of the property in your action. <strong>This is the 
default</strong></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>type</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Auto-wire by looking for a bean registered with Spring 
of the same type as the property in your action. This requires you to have only 
one bean of this type registered with Spring</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>auto</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Spring will attempt to auto-detect the best method for 
auto-wiring your action</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><
 p>constructor</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Spring will auto-wire the parameters of the bean's 
constructor</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>no</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Turn off externally defined autowiring. 
Annotation-driven injection and injection based on Springs *Aware-interfaces 
still applies</p></td></tr></tbody></table></div><p>By default, the framework 
will at least try to use Spring to create all its objects. If the object cannot 
be created by Spring, then the framework will create the object 
itself.</p><p>Enabling Spring integration for other application objects is a 
two-step process.</p><ul><li>Configure the Spring listener</li></ul><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>web.xml</b></div><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;listener&gt;
     
&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;
 &lt;/listener&gt;
 ]]></script>
-</div></div>
-
-
-<ul><li>Register your objects via the Spring configuration</li></ul>
-
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 
1px;"><b>applicationContext.xml</b></div><div class="codeContent panelContent 
pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+</div></div><ul><li>Register your objects via the Spring 
configuration</li></ul><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>applicationContext.xml</b></div><div class="codeContent panelContent 
pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;
 &lt;!DOCTYPE beans PUBLIC &quot;-//SPRING//DTD BEAN//EN&quot; 
&quot;http://www.springframework.org/dtd/spring-beans.dtd&quot;&gt;
 &lt;beans default-autowire=&quot;autodetect&quot;&gt;
     &lt;bean id=&quot;personManager&quot; 
class=&quot;com.acme.PersonManager&quot; scope=&quot;prototype&quot;/&gt;
     ...
 &lt;/beans&gt;
 ]]></script>
-</div></div>
-
-    <div class="aui-message success shadowed information-macro">
+</div></div>    <div class="aui-message success shadowed information-macro">
                     <p class="title">More applicationContext configuration 
files needed?</p>
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
-                            
-<p>Since the Spring integration uses a standard Listener, it can be configured 
to support configuration files other than <code>applicationContext.xml</code>. 
Adding the following to your web.xml will cause Spring's ApplicationContext to 
be inititalized from all files matching the given pattern:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;!-- Context Configuration locations for Spring XML files --&gt;
+                            <p>Since the Spring integration uses a standard 
Listener, it can be configured to support configuration files other than 
<code>applicationContext.xml</code>. Adding the following to your web.xml will 
cause Spring's ApplicationContext to be inititalized from all files matching 
the given pattern:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;!-- Context Configuration locations for 
Spring XML files --&gt;
 &lt;context-param&gt;
     &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
     
&lt;param-value&gt;/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml&lt;/param-value&gt;
 &lt;/context-param&gt;
 ]]></script>
-</div></div>
-<p>See the Spring documentation for a full description of this parameter.</p>
+</div></div><p>See the Spring documentation for a full description of this 
parameter.</p>
                     </div>
     </div>
-
-
-<h4 id="SpringPlugin-InitializingActionsfromSpring">Initializing Actions from 
Spring</h4>
-
-<p>Normally, in <code>struts.xml</code> you specify the class for each Action. 
When using the default SpringObjectFactory, the framework will ask Spring to 
create the Action and wire up dependencies as specified by the default 
auto-wire behavior. </p>
-
-    <div class="aui-message success shadowed information-macro">
+<h4 id="SpringPlugin-InitializingActionsfromSpring">Initializing Actions from 
Spring</h4><p>Normally, in <code>struts.xml</code> you specify the class for 
each Action. When using the default SpringObjectFactory, the framework will ask 
Spring to create the Action and wire up dependencies as specified by the 
default auto-wire behavior.</p>    <div class="aui-message success shadowed 
information-macro">
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
                             <p>We <strong>strongly</strong> recommend that you 
find declarative ways of letting Spring know what to provide for your actions. 
This includes making your beans able to be autowired by either naming your 
dependent properties on your action the same as the bean defined in Spring 
which should be provided (to allow for name-based autowiring), or using 
autowire-by-type and only having one of the required type registered with 
Spring. It also can include using JDK5 annotations to declare transactional and 
security requirements rather than having to explicitly set up proxies in your 
Spring configuration. If you can find ways to let Spring know what it needs to 
do for your action without needing any explicit configuration in the Spring 
<code>applicationContext.xml</code>, then you won't have to maintain this 
configuration in both places.</p>
                     </div>
     </div>
-
-
-<p>However, sometimes you might want the bean to be completely managed by 
Spring. This is useful, for example, if you wish to apply more complex AOP or 
Spring-enabled technologies, such as Acegi, to your beans. To do this, all you 
have to do is configure the bean in your Spring 
<code>applicationContext.xml</code> and then <em>change</em> the class 
attribute from your Action in the <code>struts.xml</code> to use the bean name 
defined in Spring instead of the class name.</p>
-
-<p>Your <code>struts.xml</code> file would then have the Action class 
attributes changed.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>struts.xml</b></div><div 
class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;!DOCTYPE struts PUBLIC
+<p>However, sometimes you might want the bean to be completely managed by 
Spring. This is useful, for example, if you wish to apply more complex AOP or 
Spring-enabled technologies, such as Acegi, to your beans. To do this, all you 
have to do is configure the bean in your Spring 
<code>applicationContext.xml</code> and then <em>change</em> the class 
attribute from your Action in the <code>struts.xml</code> to use the bean name 
defined in Spring instead of the class name.</p><p>Your <code>struts.xml</code> 
file would then have the Action class attributes changed.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>struts.xml</b></div><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;!DOCTYPE struts PUBLIC
     &quot;-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quot;
     &quot;http://struts.apache.org/dtds/struts-2.0.dtd&quot;&gt;
 &lt;struts&gt;
@@ -284,74 +214,37 @@ under the License. 
     &lt;/package&gt;
 &lt;/struts&gt;
 ]]></script>
-</div></div>
-
-<p>Where you have a Spring bean defined in your 
<code>applicationContext.xml</code> named "bar". Note that the 
<code>com.acme.Foo</code> Action did not need to be changed, because it can be 
autowired.</p>
-
-<p>A typical spring configuration for bar could look as following.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 
1px;"><b>applicationConext.xml</b></div><div class="codeContent panelContent 
pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+</div></div><p>Where you have a Spring bean defined in your 
<code>applicationContext.xml</code> named "bar". Note that the 
<code>com.acme.Foo</code> Action did not need to be changed, because it can be 
autowired.</p><p>A typical spring configuration for bar could look as 
following.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>applicationConext.xml</b></div><div class="codeContent panelContent 
pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;
 &lt;!DOCTYPE beans PUBLIC &quot;-//SPRING//DTD BEAN//EN&quot; 
&quot;http://www.springframework.org/dtd/spring-beans.dtd&quot;&gt;
 &lt;beans default-autowire=&quot;autodetect&quot;&gt;
     &lt;bean id=&quot;bar&quot; class=&quot;com.my.BarClass&quot; 
singleton=&quot;false&quot;/&gt;
     ...
 &lt;/beans&gt;
 ]]></script>
-</div></div>
-
-<p>To use session-scoped components with Spring and Struts, see the <a 
shape="rect" href="spring-session-components-workarounds.html">Spring Session 
Components Workarounds</a> analysis.</p>
-
-<h4 id="SpringPlugin-ClassReloading">Class Reloading</h4>
-<p>The Spring plugin can be configured to automatically reload classes that 
change in the file system. This feature will enable code changes to be "hot 
deployed" without having to restart the web container. To enable this feature 
follow these steps:</p>
-<ol><li>Set "struts.devMode" to "true"</li><li>Set 
"struts.class.reloading.watchList" to a comma separated list of directories, or 
jar files (absolute or relative paths)</li><li>Add this to web.xml:
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-   &lt;context-param&gt;
+</div></div><p>To use session-scoped components with Spring and Struts, see 
the <a shape="rect" href="spring-session-components-workarounds.html">Spring 
Session Components Workarounds</a> analysis.</p><h4 
id="SpringPlugin-ClassReloading">Class Reloading</h4><p>The Spring plugin can 
be configured to automatically reload classes that change in the file system. 
This feature will enable code changes to be "hot deployed" without having to 
restart the web container. To enable this feature follow these 
steps:</p><ol><li>Set "struts.devMode" to "true"</li><li>Set 
"struts.class.reloading.watchList" to a comma separated list of directories, or 
jar files (absolute or relative paths)</li><li><p>Add this to web.xml:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[   &lt;context-param&gt;
        &lt;param-name&gt;contextClass&lt;/param-name&gt;
        
&lt;param-value&gt;org.apache.struts2.spring.ClassReloadingXMLWebApplicationContext&lt;/param-value&gt;
    &lt;/context-param&gt; 
 ]]></script>
-</div></div></li><li>Add Apache Commons JCI FAM to the classpath. If you are 
using maven, add this to pom.xml
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-   &lt;dependency&gt;
+</div></div></li><li><p>Add Apache Commons JCI FAM to the classpath. If you 
are using maven, add this to pom.xml</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[   &lt;dependency&gt;
        &lt;groupId&gt;org.apache.commons&lt;/groupId&gt;
        &lt;artifactId&gt;commons-jci-fam&lt;/artifactId&gt;
        &lt;version&gt;1.0&lt;/version&gt;
    &lt;/dependency&gt; 
 ]]></script>
-</div></div></li></ol>
-
-
-<p>Letting the reloading class loader handle all the classes can lead to 
ClassCastException(s) because instances of the same classes loaded by different 
class loaders can not be assigned to each other. To prevent this problem we 
suggest that <code>struts.class.reloading.acceptClasses</code> is used to limit 
the classes loaded by the reloading class loader, so only actions are handled 
by it. This constant supports a comma separated list of regular expressions:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;constant name=&quot;struts.class.reloading.acceptClasses&quot; 
value=&quot;com\.myproject\.example\.actions\..*&quot; /&gt;
+</div></div></li></ol><p>Letting the reloading class loader handle all the 
classes can lead to ClassCastException(s) because instances of the same classes 
loaded by different class loaders can not be assigned to each other. To prevent 
this problem we suggest that <code>struts.class.reloading.acceptClasses</code> 
is used to limit the classes loaded by the reloading class loader, so only 
actions are handled by it. This constant supports a comma separated list of 
regular expressions:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;constant 
name=&quot;struts.class.reloading.acceptClasses&quot; 
value=&quot;com\.myproject\.example\.actions\..*&quot; /&gt;
 ]]></script>
-</div></div>
-
-    <div class="aui-message problem shadowed information-macro">
+</div></div>    <div class="aui-message problem shadowed information-macro">
                             <span class="aui-icon icon-problem">Icon</span>
                 <div class="message-content">
-                            
-<p>This feature is experimental, and <strong>should never</strong> be used in 
production systems.</p>
+                            <p>This feature is experimental, and 
<strong>should never</strong> be used in production systems.</p>
                     </div>
     </div>
-
-
-<h4 id="SpringPlugin-Settings">Settings</h4>
-
-<p>The following settings can be customized.  See the <a shape="rect" 
class="external-link" 
href="http://cwiki.apache.org/confluence/display/WW/Configuration+Files";>developer
 guide</a>.</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Setting</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Possible Values</p></th></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>struts.objectFactory.spring.autoWire</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The autowire 
strategy</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>name</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>name</code>,<code>type</code>,<code>auto</code>, 
or <code>constructor</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.objectFactory.spring.autoWire.alwaysRespect</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Whether the autowire strategy 
should alw
 ays be used, or if the framework should try to guess the best strategy based 
on the situation</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code> for backwards-compatibility 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code> 
or <code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.objectFactory.spring.useClassCache</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Whether to have Spring use its 
class cache or not</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code> or 
<code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.class.reloading.watchList</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>List of jar files or 
directories to watch for changes</p></td><td colspan="1" rowspan="1" 
class="confluenceT
 d"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Comma separated list of absolute or relative paths to 
jars or directories</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.class.reloading.acceptClasses</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>List of regular expressions of 
accepted class names</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Comma separated list of regular expressions of classes 
that will be loaded by the reloading class loader(we suggest to add regular 
expressions so only action classes are handled by the reloading class 
loader)</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.class.reloading.reloadConfig</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Reload the runtime 
configuration (action mappings, results etc) when a change is de
 tected in one of the watched directories</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code> or 
<code>false</code></p></td></tr></tbody></table></div>
-
-
-<h4 id="SpringPlugin-Installation">Installation</h4>
-
-<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>
+<h4 id="SpringPlugin-Settings">Settings</h4><p>The following settings can be 
customized. See the <a shape="rect" class="external-link" 
href="http://cwiki.apache.org/confluence/display/WW/Configuration+Files";>developer
 guide</a>.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Setting</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Possible Values</p></th></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>struts.objectFactory.spring.autoWire</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The autowire 
strategy</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>name</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>name</code>,<code>type</code>,<code>auto</code>, 
or <code>constructor</code></
 p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.objectFactory.spring.autoWire.alwaysRespect</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Whether the autowire strategy 
should always be used, or if the framework should try to guess the best 
strategy based on the situation</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code> for 
backwards-compatibility</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code> or 
<code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.objectFactory.spring.useClassCache</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Whether to have Spring use its 
class cache or not</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code> or 
<code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="
 confluenceTd"><p><code>struts.class.reloading.watchList</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>List of jar files or 
directories to watch for changes</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Comma separated list of absolute or relative paths to 
jars or directories</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.class.reloading.acceptClasses</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>List of regular expressions of 
accepted class names</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Comma separated list of regular expressions of classes 
that will be loaded by the reloading class loader(we suggest to add regular 
expressions so only action classes are handled by the reloading class 
loader)</p></td></tr><tr><td colspan="
 1" rowspan="1" 
class="confluenceTd"><p><code>struts.class.reloading.reloadConfig</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Reload the runtime 
configuration (action mappings, results etc) when a change is detected in one 
of the watched directories</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code> or 
<code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>struts.class.spring.enableAopSupport</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Uses different logic to 
construct beans to allow support AOP</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code> or 
<code>false</code></p></td></tr></tbody></table></div><h4 
id="SpringPlugin-Installation">Installation</h4><p>This plugin can be installed 
by copyi
 ng 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">

Modified: 
websites/production/struts/content/development/2.x/docs/type-conversion.html
==============================================================================
--- 
websites/production/struts/content/development/2.x/docs/type-conversion.html 
(original)
+++ 
websites/production/struts/content/development/2.x/docs/type-conversion.html 
Sun Sep 21 09:44:02 2014
@@ -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.rbtoc1405758419157 {padding: 0px;}
-div.rbtoc1405758419157 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1405758419157 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1411292161176 {padding: 0px;}
+div.rbtoc1411292161176 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1411292161176 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1405758419157">
+/*]]>*/</style><div class="toc-macro rbtoc1411292161176">
 <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/development/2.x/docs/validation.html
==============================================================================
--- websites/production/struts/content/development/2.x/docs/validation.html 
(original)
+++ websites/production/struts/content/development/2.x/docs/validation.html Sun 
Sep 21 09:44:02 2014
@@ -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.rbtoc1405758546535 {padding: 0px;}
-div.rbtoc1405758546535 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1405758546535 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1411292257312 {padding: 0px;}
+div.rbtoc1411292257312 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1411292257312 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1405758546535">
+/*]]>*/</style></p><div class="toc-macro rbtoc1411292257312">
 <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-Examples">Examples</a></li><li><span 
class="TOCOutline">3</span> <a shape="rect" 
href="#Validation-BundledValidators">Bundled Validators</a></li><li><span 
class="TOCOutline">4</span> <a shape="rect" 
href="#Validation-RegisteringValidators">Registering 
Validators</a></li><li><span class="TOCOutline">5</span> <a shape="rect" 
href="#Validation-TurningonValidation">Turning on Validation</a></li><li><span 
class="TOCOutline">6</span> <a shape="rect" 
href="#Validation-ValidatorScopes">Validator Scopes</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">6.1</span> <a 
shape="rect" href="#Validation-Notes">Notes</a></li></ul>
 </li><li><span class="TOCOutline">7</span> <a shape="rect" 
href="#Validation-DefiningValidationRules">Defining Validation 
Rules</a></li><li><span class="TOCOutline">8</span> <a shape="rect" 
href="#Validation-LocalizingandParameterizingMessages">Localizing and 
Parameterizing Messages</a></li><li><span class="TOCOutline">9</span> <a 
shape="rect" href="#Validation-ValidatorFlavor">Validator 
Flavor</a></li><li><span class="TOCOutline">10</span> <a shape="rect" 
href="#Validation-Non-FieldValidatorVsField-Validatorvalidatortypes">Non-Field 
Validator Vs Field-Validator</a></li><li><span class="TOCOutline">11</span> <a 
shape="rect" href="#Validation-Short-CircuitingValidator">Short-Circuiting 
Validator</a></li><li><span class="TOCOutline">12</span> <a shape="rect" 
href="#Validation-HowValidatorsofanActionareFound">How Validators of an Action 
are Found</a></li><li><span class="TOCOutline">13</span> <a shape="rect" 
href="#Validation-Writingcustomvalidators">Writing custom validators</a></li><
 li><span class="TOCOutline">14</span> <a shape="rect" 
href="#Validation-Resources">Resources</a></li><li><span 
class="TOCOutline">15</span> <a shape="rect" href="#Validation-Next:">Next: 
Localization</a></li></ul>

Modified: 
websites/production/struts/content/development/2.x/docs/version-notes-2318.html
==============================================================================
--- 
websites/production/struts/content/development/2.x/docs/version-notes-2318.html 
(original)
+++ 
websites/production/struts/content/development/2.x/docs/version-notes-2318.html 
Sun Sep 21 09:44:02 2014
@@ -138,13 +138,7 @@ under the License. 
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent">    <div class="aui-message problem 
shadowed information-macro">
-                            <span class="aui-icon icon-problem">Icon</span>
-                <div class="message-content">
-                            <p>This version is not yet released!</p>
-                    </div>
-    </div>
-<p>&#160;</p><p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 
2.3.18 distribution.</p><p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> For prior notes in this release 
series, see <a shape="rect" href="version-notes-23161.html">Version Notes 
2.3.16.1</a></p><ul><li>If you are a Maven user, you might want to get started 
using the <a shape="rect" href="struts-2-maven-archetypes.html">Maven 
Archetype</a>.</li><li>Another quick-start entry point is the 
<strong>blank</strong> application. Rename and deploy the WAR as a starting 
point for your own development.</li></ul><div class="code panel pdl" 
style="border-wid
 th: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Maven Dependency</b></div><div class="codeContent panelContent pdl">
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 
2.3.18 distribution.</p><p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> For prior notes in this release 
series, see <a shape="rect" href="version-notes-23161.html">Version Notes 
2.3.16.1</a></p><ul><li>If you are a Maven user, you might want to get started 
using the <a shape="rect" href="struts-2-maven-archetypes.html">Maven 
Archetype</a>.</li><li>Another quick-start entry point is the 
<strong>blank</strong> application. Rename and deploy the WAR as a starting 
point for your own development.</li></ul><div class="code p
 anel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Maven Dependency</b></div><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
   &lt;artifactId&gt;struts2-core&lt;/artifactId&gt;
@@ -161,7 +155,7 @@ under the License. 
     
&lt;url&gt;https://repository.apache.org/content/groups/staging/&lt;/url&gt;
   &lt;/repository&gt;
 &lt;/repositories&gt;]]></script>
-</div></div><h2 id="VersionNotes2.3.18-InternalChanges">Internal 
Changes</h2><ul><li><img class="emoticon emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)"> Merged security fix from version 
2.3.16.1</li><li>Collection Parameters for RedirectResults, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4224";>WW-4224</a></li><li>Make 
ParametersInterceptor supports chinese in hash key by default, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4250";>WW-4250</a></li><li>themes.properties
 can be loaded using ServletContext allows to put <code>template</code> folder 
under WEB-INF or on classpath, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4260";>WW-4260</a></li><li><span>New
 tag datetextfield, <a shape="rect" class="external
 -link" 
href="https://issues.apache.org/jira/browse/WW-3493";>WW-3493</a></span></li><li><span>Only
 valid Ognl expressions are cached, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4146";>WW-4146</a></span></li><li><span>CustomTextProvider
 can be used for validation errors of model driven actions, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4202";>WW-4202</a></span></li><li><span>datetimepicker's
 label fixed, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4254";>WW-4254</a></span></li><li><span>PropertiesJudge<span>&#160;removed
 and properties are checked 
in&#160;<code>SecurityMemberAccess</code></span></span>, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4257";>WW-4257</a></li><li>resource
 reloading works in IBM JVM, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4266";>WW-4266</a></li><li>defaul
 t reloading settings were removed from&#160;<code>default.properties</code>, 
<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4267";>WW-4267</a></li><li>and 
other many small improvements, please see release notes</li></ul><h3 
id="VersionNotes2.3.18-IssueDetail">Issue Detail</h3><ul><li><a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311041&amp;version=12324780";>JIRA
 Release Notes 2.3.18</a> TBD</li></ul><h3 
id="VersionNotes2.3.18-IssueList">Issue List</h3><ul><li><a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/issues/?filter=12326872";>Struts 2.3.18 
DONE</a></li><li><a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/issues/?filter=12318399";>Struts 2.3.x 
TODO</a></li></ul><h3 id="VersionNotes2.3.18-Otherresources">Other 
resources</h3><ul><li><a shape="rect" class="external-link" 
href="http://www.mail-archive.com/commits%40struts.apache.or
 g/" rel="nofollow">Commit Logs (Struts 1 and Struts 2)</a></li><li><a 
shape="rect" class="external-link" 
href="http://svn.apache.org/viewvc/struts/struts2/trunk/";>Source Code 
Repository (includes change browsing)</a></li></ul><div><span style="font-size: 
24.0px;line-height: 30.0px;"><br clear="none"></span></div><div><span 
style="font-size: 24.0px;line-height: 30.0px;background-color: 
rgb(245,245,245);"><br clear="none"></span></div></div>
+</div></div><h2 id="VersionNotes2.3.18-InternalChanges">Internal 
Changes</h2><ul><li><img class="emoticon emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)"> Merged security fixes from 
version 2.3.16.1,&#160;2.3.16.2,&#160;2.3.16.3</li><li><img class="emoticon 
emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)">&#160;Extended existing security 
mechanism to block access to given Java packages and Classes, see <a 
shape="rect" class="external-link" 
href="https://github.com/apache/struts/pull/11"; 
rel="nofollow">#11</a></li><li>Collection Parameters for RedirectResults, <a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4224";>WW-4224</a></li><li
 >Make ParametersInterceptor supports chinese in hash key by default, <a 
 >shape="rect" class="external-link" 
 >href="https://issues.apache.org/jira/browse/WW-4250";>WW-4250</a></li><li>themes.properties
 > can be loaded using ServletContext allows to put <code>template</code> 
 >folder under WEB-INF or on classpath, <a shape="rect" class="external-link" 
 >href="https://issues.apache.org/jira/browse/WW-4260";>WW-4260</a></li><li><span>New
 > tag datetextfield, <a shape="rect" class="external-link" 
 >href="https://issues.apache.org/jira/browse/WW-3493";>WW-3493</a></span></li><li><span>Only
 > valid Ognl expressions are cached, <a shape="rect" class="external-link" 
 >href="https://issues.apache.org/jira/browse/WW-4146";>WW-4146</a></span></li><li><span>CustomTextProvider
 > can be used for validation errors of model driven actions, <a shape="rect" 
 >class="external-link" 
 >href="https://issues.apache.org/jira/browse/WW-4202";>WW-4202</a></span></li><li><span>datetimepicker's
 > label fixed, <a shape="rect" class="externa
 l-link" 
href="https://issues.apache.org/jira/browse/WW-4254";>WW-4254</a></span></li><li><span>PropertiesJudge<span>&#160;removed
 and properties are checked 
in&#160;<code>SecurityMemberAccess</code></span></span>, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4257";>WW-4257</a></li><li>resource
 reloading works in IBM JVM, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4266";>WW-4266</a></li><li>default
 reloading settings were removed from&#160;<code>default.properties</code>, <a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4267";>WW-4267</a></li><li><img 
class="emoticon emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)">&#160;commons-fileupload library 
upgraded to version 1.3.1 to fix potential security vulnerability, <
 a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4286";>WW-4286</a></li><li>The&#160;<code>scheme</code>
 attribute accepts expressions in&#160;<code>s:url</code> tag, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4024";>WW-4024</a></li><li>Solves 
problem with infinite loop in&#160;<code>FastByteArrayOutputStream</code>, <a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4383";>WW-4383</a></li><li><code>LocalizedTextUtil</code>
 supports many&#160;<code>ClassLoaders</code>, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4379";>WW-4379</a></li><li>Bill 
of Materials pom was introduced, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4326";>WW-4326</a></li><li><code>debug=browser|console</code>
 was migrated to jQuery, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4322";>WW-43
 22</a></li><li><code>struts_dojo.js</code> was fixed, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4349";>WW-4349</a></li><li>interface&#160;<code>org/apache/struts2/views/TagLibrary</code>
 was restored and marked as&#160;<code>@Depreacted</code>, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4255";>WW-4255</a></li><li>and 
many other small improvements, please see the release notes</li></ul><h3 
id="VersionNotes2.3.18-IssueDetail">Issue Detail</h3><ul><li><a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311041&amp;version=12319176";>JIRA
 Release Notes 2.3.18</a></li></ul><h3 id="VersionNotes2.3.18-IssueList">Issue 
List</h3><ul><li><a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/issues/?filter=12326872";>Struts 2.3.18 
DONE</a></li><li><a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/issues/?filter=
 12318399">Struts 2.3.x TODO</a></li></ul><h3 
id="VersionNotes2.3.18-Otherresources">Other resources</h3><ul><li><a 
shape="rect" class="external-link" 
href="http://www.mail-archive.com/commits%40struts.apache.org/"; 
rel="nofollow">Commit Logs</a></li><li><a shape="rect" class="external-link" 
href="https://git-wip-us.apache.org/repos/asf?p=struts.git;a=tree;h=refs/heads/develop;hb=develop";>Source
 Code Repository</a></li></ul><div><span style="font-size: 24.0px;line-height: 
30.0px;"><br clear="none"></span></div><div><span style="font-size: 
24.0px;line-height: 30.0px;background-color: rgb(245,245,245);"><br 
clear="none"></span></div></div>
         </div>
 
         


Reply via email to