Modified: websites/production/struts/content/docs/iterator.html
==============================================================================
--- websites/production/struts/content/docs/iterator.html (original)
+++ websites/production/struts/content/docs/iterator.html Wed Jan 27 09:26:50 
2016
@@ -151,7 +151,7 @@ java.util.Enumeration, java.util.Map, or
 
 <h1 id="iterator-Parameters">Parameters</h1>
 
-<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">begin</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">0</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">if spe
 cified the iteration will start on that index</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">end</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Size of the 'values' List or array, or 0 if 'step' is 
negative</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">if specified the iteration will end on that 
index(inclusive)</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">id</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Deprecated. Use 'var' instead</td></tr><tr><td align="left" colspa
 n="1" rowspan="1" valign="top">status</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">If specified, an instanceof IteratorStatus will be pushed into 
stack upon each iteration</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">step</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">1</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">if specified the iteration index will be increased by this value 
on each iteration. It can be a negative value, in which case 'begin' must be 
greater than 'end'</td></tr>
 <tr><td align="left" colspan="1" rowspan="1" valign="top">value</td><td 
align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" 
colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">the iteratable source to iterate over, else an the object itself 
will be put into a newly created List</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">var</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Name used to reference the value pushed into the Value 
Stack</td></tr></table></p>
+<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">begin</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">0</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">if spe
 cified the iteration will start on that index</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">end</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Size of the 'values' List or array, or 0 if 'step' is 
negative</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">if specified the iteration will end on that 
index(inclusive)</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">status</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">If specified, an instanceof IteratorStatus will be pushe
 d into stack upon each iteration</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">step</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">1</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">if specified the iteration index will be increased by this value 
on each iteration. It can be a negative value, in which case 'begin' must be 
greater than 'end'</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">value</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">the iteratable source to iterate ove
 r, else an the object itself will be put into a newly created 
List</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">var</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Name used to reference the value pushed into the Value 
Stack</td></tr></table></p>
 
 <h1 id="iterator-Examples">Examples</h1>
 

Modified: websites/production/struts/content/docs/localization.html
==============================================================================
--- websites/production/struts/content/docs/localization.html (original)
+++ websites/production/struts/content/docs/localization.html Wed Jan 27 
09:26:50 2016
@@ -139,11 +139,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1441088113804 {padding: 0px;}
-div.rbtoc1441088113804 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1441088113804 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884138831 {padding: 0px;}
+div.rbtoc1453884138831 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453884138831 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1441088113804">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453884138831">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Localization-Overview">Overview</a></li><li><a shape="rect" 
href="#Localization-ResourceBundleSearchOrder">Resource Bundle Search Order</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Localization-Defaultaction'sclass">Default action's class</a></li><li><a 
shape="rect" href="#Localization-UsinggetTextfromaTag">Using getText from a 
Tag</a></li><li><a shape="rect" href="#Localization-Usingthetexttag">Using the 
text tag</a></li><li><a shape="rect" href="#Localization-UsingtheI18ntag">Using 
the I18n tag</a></li><li><a shape="rect" 
href="#Localization-UsingtheKeyattributeofUITags">Using the Key attribute of UI 
Tags</a></li></ul>
 </li><li><a shape="rect" href="#Localization-I18nInterceptor">I18n 
Interceptor</a></li><li><a shape="rect" 
href="#Localization-GlobalResources(struts.custom.i18n.resources)instruts.properties">Global
 Resources (struts.custom.i18n.resources) in struts.properties</a></li><li><a 
shape="rect" href="#Localization-FormattingDatesandNumbers">Formatting Dates 
and Numbers</a></li><li><a shape="rect" 
href="#Localization-ComparisonwithStruts1">Comparison with Struts 
1</a></li><li><a shape="rect" href="#Localization-Next:">Next: Type 
Conversion</a></li></ul>

Modified: websites/production/struts/content/docs/merge.html
==============================================================================
--- websites/production/struts/content/docs/merge.html (original)
+++ websites/production/struts/content/docs/merge.html Wed Jan 27 09:26:50 2016
@@ -156,7 +156,7 @@ be the logic.</p>
 
 <h2 id="merge-Parameters">Parameters</h2>
 
-<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">id</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Deprecated.
  Use 'var' instead</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">var</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The name where the resultant merged iterator will be stored in the 
stack's context</td></tr></table></p>
+<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">var</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The name w
 here the resultant merged iterator will be stored in the stack's 
context</td></tr></table></p>
 
 <h2 id="merge-Examples">Examples</h2>
 

Modified: websites/production/struts/content/docs/one-time-steps.html
==============================================================================
--- websites/production/struts/content/docs/one-time-steps.html (original)
+++ websites/production/struts/content/docs/one-time-steps.html Wed Jan 27 
09:26:50 2016
@@ -140,11 +140,11 @@ under the License.
         <div class="wiki-content">
             <div id="ConfluenceContent"><h1 
id="Onetimesteps-Content">Content</h1>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1440489346579 {padding: 0px;}
-div.rbtoc1440489346579 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1440489346579 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884610727 {padding: 0px;}
+div.rbtoc1453884610727 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1453884610727 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1440489346579">
+/*]]>*/</style><div class="toc-macro rbtoc1453884610727">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" href="#Onetimesteps-Content">Content</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">1.1</span> <a 
shape="rect" href="#Onetimesteps-Keysandconfiguration">Keys and 
configuration</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">1.1.1</span> <a 
shape="rect" href="#Onetimesteps-CreateandinstallaSSHkey">Create and install a 
SSH key</a></li><li><span class="TOCOutline">1.1.2</span> <a shape="rect" 
href="#Onetimesteps-CreateaPGPkey">Create a PGP key</a></li><li><span 
class="TOCOutline">1.1.3</span> <a shape="rect" 
href="#Onetimesteps-UpdateMavensettingsforourservers">Update Maven settings for 
our servers</a></li><li><span class="TOCOutline">1.1.4</span> <a shape="rect" 
href="#Onetimesteps-IncreaseMemorySettingsforMaven">Increase Memory Settings 
for Maven</a></li></ul>

Modified: websites/production/struts/content/docs/property.html
==============================================================================
--- websites/production/struts/content/docs/property.html (original)
+++ websites/production/struts/content/docs/property.html Wed Jan 27 09:26:50 
2016
@@ -141,7 +141,7 @@ under the License.
             <div id="ConfluenceContent"><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Please make sure you have read the 
<a shape="rect" href="tag-syntax.html">Tag Syntax</a> document and understand 
how tag attribute syntax works.</p></div></div><h1 
id="property-Description">Description</h1><p></p><p>
 Used to get the property of a <i>value</i>, which will default to the top of
 the stack if none is specified.
-</p><h1 id="property-Parameters">Parameters</h1><p><table width="100%"><tr><td 
colspan="6" rowspan="1"><h4>Dynamic Attributes Allowed:</h4> 
false</td></tr><tr><td colspan="6" rowspan="1">&#160;</td></tr><tr><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Name</h4></th><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Required</h4></th><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Default</h4></th><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Evaluated</h4></th><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Type</h4></th><th 
align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">default</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="l
 eft" colspan="1" rowspan="1" valign="top">The default value to be used if 
<u>value</u> attribute is null</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">escape</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">true</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Deprecated. Use 'escapeHtml'. Whether to escape 
HTML</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">escapeCsv</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Whether to escape CSV (useful to escape a value for a col
 umn)</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">escapeHtml</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">true</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Whether to escape HTML</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">escapeJavaScript</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Whether to escape Javascript</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">escapeXml</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><t
 d align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" 
colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" 
rowspan="1" valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Whether to escape XML</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">value</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">&lt;top of stack&gt;</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Object</td><td align="left" colspan="1" rowspan="1" 
valign="top">Value to be displayed</td></tr></table></p><h1 
id="property-Examples">Examples</h1><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</p><h1 id="property-Parameters">Parameters</h1><p><table width="100%"><tr><td 
colspan="6" rowspan="1"><h4>Dynamic Attributes Allowed:</h4> 
false</td></tr><tr><td colspan="6" rowspan="1">&#160;</td></tr><tr><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Name</h4></th><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Required</h4></th><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Default</h4></th><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Evaluated</h4></th><th 
align="left" colspan="1" rowspan="1" valign="top"><h4>Type</h4></th><th 
align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">default</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="l
 eft" colspan="1" rowspan="1" valign="top">The default value to be used if 
<u>value</u> attribute is null</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">escapeCsv</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Whether to escape CSV (useful to escape a value for a 
column)</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">escapeHtml</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">true</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Whether to escape HTML</td></tr><tr><td alig
 n="left" colspan="1" rowspan="1" valign="top">escapeJavaScript</td><td 
align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" 
colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Whether to escape Javascript</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">escapeXml</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" 
valign="top">Whether to escape XML</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">value</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rows
 pan="1" valign="top">&lt;top of stack&gt;</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Object</td><td align="left" colspan="1" rowspan="1" 
valign="top">Value to be displayed</td></tr></table></p><h1 
id="property-Examples">Examples</h1><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;s:push value=&quot;myBean&quot;&gt;

Modified: websites/production/struts/content/docs/rest-plugin.html
==============================================================================
--- websites/production/struts/content/docs/rest-plugin.html (original)
+++ websites/production/struts/content/docs/rest-plugin.html Wed Jan 27 
09:26:50 2016
@@ -139,11 +139,11 @@ 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>This plugin is only available with 
Struts 2.1.1 or later</p></div></div><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1443119322444 {padding: 0px;}
-div.rbtoc1443119322444 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1443119322444 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884501969 {padding: 0px;}
+div.rbtoc1453884501969 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453884501969 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1443119322444">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453884501969">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" href="#RESTPlugin-Overview">Overview</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">1.1</span> <a 
shape="rect" href="#RESTPlugin-Features">Features</a></li><li><span 
class="TOCOutline">1.2</span> <a shape="rect" 
href="#RESTPlugin-MappingRESTURLstoStruts2Actions">Mapping REST URLs to Struts 
2 Actions</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">1.2.1</span> <a 
shape="rect" href="#RESTPlugin-RESTfulURLMappingLogic">RESTful URL Mapping 
Logic</a></li></ul>

Modified: websites/production/struts/content/docs/result-configuration.html
==============================================================================
--- websites/production/struts/content/docs/result-configuration.html (original)
+++ websites/production/struts/content/docs/result-configuration.html Wed Jan 
27 09:26:50 2016
@@ -139,13 +139,13 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1443767274995 {padding: 0px;}
-div.rbtoc1443767274995 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1443767274995 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884188561 {padding: 0px;}
+div.rbtoc1453884188561 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453884188561 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1443767274995">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453884188561">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#ResultConfiguration-ResultElements">Result Elements</a>
-<ul class="toc-indentation"><li><a shape="rect" 
href="#ResultConfiguration-IntelligentDefaults">Intelligent 
Defaults</a></li></ul>
+<ul class="toc-indentation"><li><a shape="rect" 
href="#ResultConfiguration-IntelligentDefaults">Intelligent 
Defaults</a></li><li><a shape="rect" 
href="#ResultConfiguration-Multiplenames">Multiple names</a></li></ul>
 </li><li><a shape="rect" href="#ResultConfiguration-GlobalResults">Global 
Results</a></li><li><a shape="rect" 
href="#ResultConfiguration-DynamicResults">Dynamic Results</a></li></ul>
 </div><p>When an <a shape="rect" href="action.html">action</a> class method 
completes, it returns a String. The value of the String is used to select a 
result element. An action mapping will often have a set of results representing 
different possible outcomes. A standard set of result tokens are defined by the 
<code>ActionSupport</code> base class.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Predefined result names</b></div><div 
class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">String SUCCESS = "success";
@@ -188,7 +188,12 @@ String LOGIN   = "login";
     &lt;result name="*"&gt;/hello/Other.jsp&lt;/result&gt;
 &lt;/action&gt;
 </pre>
-</div></div><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 name="*" is 
<strong>not</strong> a wildcard pattern, it is a special name that is only 
selected if an exact match is not found.</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)"> In most cases if an action 
returns an unrecognized result name this would be a programming error and 
should be fixed.</p><h2 id="ResultConfiguration-GlobalResults">Global 
Results</h2><p>Most often, results are nested with the action element. But some 
results apply to multiple actions. In a secure application, a client might try 
to access a page without being authorized, and many actions may n
 eed access to a "logon" result.</p><p>If actions need to share results, a set 
of global results can be defined for each package. The framework will first 
look for a local result nested in the action. If a local match is not found, 
then the global results are checked.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Defining global results</b></div><div 
class="codeContent panelContent pdl">
+</div></div><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 name="*" is 
<strong>not</strong> a wildcard pattern, it is a special name that is only 
selected if an exact match is not found.</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)"> In most cases if an action 
returns an unrecognized result name this would be a programming error and 
should be fixed.</p><h3 id="ResultConfiguration-Multiplenames">Multiple 
names</h3><p>It is possible to define multiple names for the same 
result:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;action name="save"&gt;
+    &lt;result&gt;success.jsp&lt;/result&gt;
+    &lt;result name="error, input"&gt;input-form.jsp&lt;/result&gt;
+&lt;/action&gt;</pre>
+</div></div><p>Such functionality was added in Struts 2.5</p><h2 
id="ResultConfiguration-GlobalResults">Global Results</h2><p>Most often, 
results are nested with the action element. But some results apply to multiple 
actions. In a secure application, a client might try to access a page without 
being authorized, and many actions may need access to a "logon" 
result.</p><p>If actions need to share results, a set of global results can be 
defined for each package. The framework will first look for a local result 
nested in the action. If a local match is not found, then the global results 
are checked.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Defining global results</b></div><div class="codeContent panelContent 
pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;global-results&gt;
     &lt;result name="error"&gt;/Error.jsp&lt;/result&gt;
     &lt;result name="invalid.token"&gt;/Error.jsp&lt;/result&gt;

Modified: websites/production/struts/content/docs/s2-026.html
==============================================================================
--- websites/production/struts/content/docs/s2-026.html (original)
+++ websites/production/struts/content/docs/s2-026.html Wed Jan 27 09:26:50 2016
@@ -138,7 +138,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="S2-026-Summary">Summary</h2>Special <code>top</code> object can be used to 
access Struts' internals<div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Who should read this</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All Struts 2 developers and 
users</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Impact of vulnerability</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Manipulation of Struts' internals, altering 
of user session</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Maximum security rating</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>High</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Update regex used to excluded vulnerable 
incoming parameters. An upgrade to <a shape="rect" class="ext
 ernal-link" href="http://struts.apache.org/download.cgi#struts23241";>Struts 
2.3.24.1</a> is recommended.</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.0.0 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.24</span></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 1.42857;">rskvp93 
at gmail dot com from </span>Viettel Information Security 
Center</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>CVE 
Identifier</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
style="color: rgb(34,34,34);"><a shape="rect" class="external-link" 
href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5209"; 
rel="nofollow">CVE-2015-5209</a></span></p></td></tr></tbody></table></div><h2 
id="S2-026-Problem">Problem</h2><p>ValueStack defines s
 pecial <code>top</code> object which represents root of execution context. It 
can be used to manipulate Struts' internals or can be used to affect 
container's settings</p><h2 id="S2-026-Solution">Solution</h2><p>Applying 
better regex which includes pattern to exclude request parameters trying to 
use&#160;<code>top</code> object.&#160;We recommend upgrading to Struts 
2.3.24.1.</p><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>Support for expression using 
<code>top</code> will be dropped in upcoming Struts version 
2.5!</p></div></div><h2 id="S2-026-Backwardcompatibility">Backward 
compatibility</h2><p>If an application is using parameter named 
<code>top</code>&#160;to access action's properties, it won't be set on the 
action. In other case&#160;no backward compatibility problems are 
expected.</p><h2 id="S2-02
 6-Workaround">Workaround</h2><p>Applying the below patterns will solve the 
problem as well:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+            <div id="ConfluenceContent"><h2 
id="S2-026-Summary">Summary</h2>Special <code>top</code> object can be used to 
access Struts' internals<div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Who should read this</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All Struts 2 developers and 
users</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Impact of vulnerability</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Manipulation of Struts' internals, altering 
of user session</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Maximum security rating</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>High</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Update regex used to excluded vulnerable 
incoming parameters. An upgrade to <a shape="rect" class="ext
 ernal-link" href="http://struts.apache.org/download.cgi#struts23241";>Struts 
2.3.24.1</a> is recommended.</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.0.0 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.24</span></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 1.42857;">rskvp93 
at gmail dot com from </span>Viettel Information Security 
Center</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>CVE 
Identifier</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
style="color: rgb(34,34,34);"><a shape="rect" class="external-link" 
href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5209"; 
rel="nofollow">CVE-2015-5209</a></span></p></td></tr></tbody></table></div><h2 
id="S2-026-Problem">Problem</h2><p>ValueStack defines s
 pecial <code>top</code> object which represents root of execution context. It 
can be used to manipulate Struts' internals or can be used to affect 
container's settings</p><h2 id="S2-026-Solution">Solution</h2><p>Applying 
better regex which includes pattern to exclude request parameters trying to 
use&#160;<code>top</code> object.&#160;We recommend upgrading to Struts 
2.3.24.1.</p><h2 id="S2-026-Backwardcompatibility">Backward 
compatibility</h2><p>If an application is using parameter named 
<code>top</code>&#160;to access action's properties, it won't be set on the 
action. In other case&#160;no backward compatibility problems are 
expected.</p><h2 id="S2-026-Workaround">Workaround</h2><p>Applying the below 
patterns will solve the problem as well:</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;">"(^|\\%\\{)((#?)(top(\\.|\\['|\\[\")|\\[\\d\\]\\.)?)(dojo|struts|session|request|response|application|servlet(Request|Response|Context)|parameters|context|_memberAccess)(\\.|\\[).*",
 "^(action|method):.*"</pre>
 </div></div></div>

Modified: websites/production/struts/content/docs/sample-announcements.html
==============================================================================
--- websites/production/struts/content/docs/sample-announcements.html (original)
+++ websites/production/struts/content/docs/sample-announcements.html Wed Jan 
27 09:26:50 2016
@@ -127,11 +127,11 @@ under the License.
         <div class="wiki-content">
             <div id="ConfluenceContent"><h1 
id="Sampleannouncements-Content">Content</h1>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1440489352374 {padding: 0px;}
-div.rbtoc1440489352374 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1440489352374 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884616256 {padding: 0px;}
+div.rbtoc1453884616256 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1453884616256 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1440489352374">
+/*]]>*/</style><div class="toc-macro rbtoc1453884616256">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" href="#Sampleannouncements-Content">Content</a>
 <ul class="toc-indentation"><li><span class="TOCOutline">1.1</span> <a 
shape="rect" 
href="#Sampleannouncements-SampleStrutsAnnotationsRelease/QualityVote">Sample 
Struts Annotations Release/Quality Vote</a></li><li><span 
class="TOCOutline">1.2</span> <a shape="rect" 
href="#Sampleannouncements-SampleTestBuildAnnouncement">Sample Test Build 
Announcement</a></li><li><span class="TOCOutline">1.3</span> <a shape="rect" 
href="#Sampleannouncements-SampleRelease/QualityVote">Sample Release/Quality 
Vote</a></li><li><span class="TOCOutline">1.4</span> <a shape="rect" 
href="#Sampleannouncements-SampleReleaseAnnouncement">Sample Release 
Announcement</a></li><li><span class="TOCOutline">1.5</span> <a shape="rect" 
href="#Sampleannouncements-Fast-TrackinganImportantSecurityRelease">Fast-Tracking
 an Important Security Release</a></li></ul>
 </li></ul>

Modified: websites/production/struts/content/docs/security.html
==============================================================================
--- websites/production/struts/content/docs/security.html (original)
+++ websites/production/struts/content/docs/security.html Wed Jan 27 09:26:50 
2016
@@ -139,15 +139,15 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1440493861559 {padding: 0px;}
-div.rbtoc1440493861559 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1440493861559 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884667082 {padding: 0px;}
+div.rbtoc1453884667082 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453884667082 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1440493861559">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453884667082">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Security-Securitytips">Security tips</a>
-<ul class="toc-indentation"><li><a shape="rect" 
href="#Security-RestrictaccesstotheConfigBrowser">Restrict access to the Config 
Browser</a></li><li><a shape="rect" 
href="#Security-Don'tmixdifferentaccesslevelsinthesamenamespace">Don't mix 
different access levels in the same namespace</a></li><li><a shape="rect" 
href="#Security-NeverexposeJSPfilesdirectly">Never expose JSP files 
directly</a></li><li><a shape="rect" href="#Security-DisabledevMode">Disable 
devMode</a></li></ul>
+<ul class="toc-indentation"><li><a shape="rect" 
href="#Security-RestrictaccesstotheConfigBrowser">Restrict access to the Config 
Browser</a></li><li><a shape="rect" 
href="#Security-Don'tmixdifferentaccesslevelsinthesamenamespace">Don't mix 
different access levels in the same namespace</a></li><li><a shape="rect" 
href="#Security-NeverexposeJSPfilesdirectly">Never expose JSP files 
directly</a></li><li><a shape="rect" href="#Security-DisabledevMode">Disable 
devMode</a></li><li><a shape="rect" href="#Security-UseUTF-8encoding">Use UTF-8 
encoding</a></li></ul>
 </li><li><a shape="rect" href="#Security-Internalsecuritymechanism">Internal 
security mechanism</a>
-<ul class="toc-indentation"><li><a shape="rect" 
href="#Security-Accessingstaticmethods">Accessing static methods</a></li><li><a 
shape="rect" href="#Security-OGNLisusedtocallaction'smethods">OGNL is used to 
call action's methods</a></li><li><a shape="rect" 
href="#Security-Accepted/Excludedpatterns">Accepted / Excluded 
patterns</a></li></ul>
+<ul class="toc-indentation"><li><a shape="rect" 
href="#Security-Accessingstaticmethods">Accessing static methods</a></li><li><a 
shape="rect" href="#Security-OGNLisusedtocallaction'smethods">OGNL is used to 
call action's methods</a></li><li><a shape="rect" 
href="#Security-Accepted/Excludedpatterns">Accepted / Excluded 
patterns</a></li><li><a shape="rect" 
href="#Security-StrictMethodInvocation">Strict Method Invocation</a></li></ul>
 </li></ul>
 </div><h3 id="Security-Securitytips">Security tips</h3><p>The Apache Struts 2 
doesn't provide any security mechanism - it is just a pure web framework. Below 
are few tips you should consider during application development with the Apache 
Struts 2.</p><h4 id="Security-RestrictaccesstotheConfigBrowser">Restrict access 
to the Config Browser</h4><p><a shape="rect" 
href="config-browser-plugin.html">Config Browser Plugin</a>&#160;exposes 
internal configuration and should be used only during development phase. If you 
must use it on production site, we strictly recommend restricting access to it 
- you can use &#160;Basic Authentication or any other security mechanism (e.g. 
<a shape="rect" class="external-link" href="http://shiro.apache.org/";>Apache 
Shiro</a>)</p><h4 
id="Security-Don'tmixdifferentaccesslevelsinthesamenamespace">Don't mix 
different access levels in the same namespace</h4><p>Very often access to 
different resources is controlled based on URL patterns, see snippet below. 
Becaus
 e of that you cannot mix actions with different security levels in the same 
namespace. Always group actions in one namespace by security level.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">    &lt;security-constraint&gt;
@@ -177,22 +177,18 @@ div.rbtoc1440493861559 li {margin-left:
     &lt;description&gt;Don't assign users to this role&lt;/description&gt;
     &lt;role-name&gt;no-users&lt;/role-name&gt;
 &lt;/security-role&gt;</pre>
-</div></div><p>The best approach is to used the both solutions.</p><h4 
id="Security-DisabledevMode">Disable devMode</h4><p>The&#160;<code 
style="line-height: 1.4285715;">devMode</code> is very useful option back can 
expose your application presenting too many informations of application's 
internals. Please always disable the&#160;<code>devMode</code> before deploying 
your application to a production environment.</p><h3 
id="Security-Internalsecuritymechanism">Internal security mechanism</h3><p>The 
Apache Struts 2 contains internal security manager which blocks access to 
particular classes and Java packages - it's a OGNL-wide mechanism which means 
it affects any aspect of the framework ie. incoming parameters, expressions 
used in JSPs, etc.</p><p>The defaults are as follow:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">    &lt;constant name="struts.excludedClasses"
-              value="
-                java.lang.Object,
-                java.lang.Runtime,
-                java.lang.System,
-                java.lang.Class,
-                java.lang.ClassLoader,
-                java.lang.Shutdown,
-                ognl.OgnlContext,
-                ognl.MemberAccess,
-                ognl.ClassResolver,
-                ognl.TypeConverter,
-                com.opensymphony.xwork2.ActionContext" /&gt;
-    &lt;!-- this must be valid regex, each '.' in package name must be 
escaped! --&gt;
-    &lt;constant name="struts.excludedPackageNamePatterns" 
value="^java\.lang\..*,^ognl.*,^javax.*" /&gt;</pre>
+</div></div><p>The best approach is to used the both solutions.</p><h4 
id="Security-DisabledevMode">Disable devMode</h4><p>The&#160;<code 
style="line-height: 1.4285715;">devMode</code> is very useful option back can 
expose your application presenting too many informations of application's 
internals. Please always disable the&#160;<code>devMode</code> before deploying 
your application to a production environment.</p><h4 
id="Security-UseUTF-8encoding">Use UTF-8 encoding</h4><p>Always 
use&#160;<code>UTF-8</code> encoding when building an application with the 
Apache Struts 2, when using JSPs please add the following header to each JSP 
file</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;%@ page contentType="text/html; charset=UTF-8" 
%&gt;</pre>
+</div></div><h3 id="Security-Internalsecuritymechanism">Internal security 
mechanism</h3><p>The Apache Struts 2 contains internal security manager which 
blocks access to particular classes and Java packages - it's a OGNL-wide 
mechanism which means it affects any aspect of the framework ie. incoming 
parameters, expressions used in JSPs, etc.</p><p>There are three options that 
can be used to configure excluded packages and classes:</p><ul 
style="list-style-type: square;"><li><code>struts.excludedClasses</code> - 
comma-separated list of excluded 
classes</li><li><code>struts.excludedPackageNamePatterns</code> - patterns used 
to exclude packages based on RegEx - this option is slower than simple string 
comparison but it's more 
flexible</li><li><code>struts.excludedPackageNames</code> - comma-separated 
list of excluded packages, it is used with simple string comparison 
via&#160;<code>startWith</code> and&#160;<code>equals</code></li></ul><p>The 
defaults are as follow:</p><div class="code p
 anel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;constant name="struts.excludedClasses"
+          value="com.opensymphony.xwork2.ActionContext" /&gt;
+
+&lt;!-- this must be valid regex, each '.' in package name must be escaped! 
--&gt;
+&lt;!-- it's more flexible but slower than simple string comparison --&gt;
+&lt;!-- constant name="struts.excludedPackageNamePatterns" 
value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / --&gt;
+
+&lt;!-- this is simpler version of the above used with string comparison --&gt;
+&lt;constant name="struts.excludedPackageNames" value="java.lang,ognl,javax" 
/&gt;</pre>
 </div></div><p>Any expression or target which evaluates to one of these will 
be blocked and you see a WARN in logs:</p><div class="preformatted panel" 
style="border-width: 1px;"><div class="preformattedContent panelContent">
 <pre>[WARNING] Target class [class example.MyBean] or declaring class of 
member type [public example.MyBean()] are excluded!</pre>
 </div></div><p>In that case&#160;<code>new MyBean()</code> was used to create 
a new instance of class (inside JSP) - it's blocked 
because&#160;<code>target</code> of such expression is evaluated 
to&#160;<code>java.lang.Class</code></p><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>It is possible to redefine the 
above constants in <code>struts.xml</code> but try to avoid this and rather 
change design of your application!</p></div></div><h4 
id="Security-Accessingstaticmethods">Accessing static methods</h4><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>Support for accessing static 
methods from expression will be disabled soon, please
  consider re-factoring your application to avoid further problems! Please 
check <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4348";>WW-4348</a>.</p></div></div><h4
 id="Security-OGNLisusedtocallaction'smethods">OGNL is used to call action's 
methods</h4><p>This can impact actions which have large inheritance hierarchy 
and use the same method's name throughout the hierarchy, this was reported as 
an issue <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4405";>WW-4405</a>. See the 
example below:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
@@ -216,7 +212,7 @@ public abstract class AbstractAction ext
         // some logic
     }
 }</pre>
-</div></div><p>In such case OGNL cannot properly map which method to call when 
request is coming. This is do the OGNL limitation. To solve the problem don't 
use the same method's names through the hierarchy, you can simply change the 
action's method from&#160;<code>save()</code> 
to&#160;<code>saveAction()</code>&#160;and leaving annotation as is to 
allow&#160;<span style="line-height: 1.4285715;">call this action 
via&#160;</span><code style="line-height: 1.4285715;">/save.action</code><span 
style="line-height: 1.4285715;"> request.</span></p><h4 
id="Security-Accepted/Excludedpatterns"><span style="line-height: 
1.4285715;">Accepted / Excluded patterns</span></h4><p><span 
style="line-height: 1.4285715;">As from version 2.3.20 the framework provides 
two new interfaces which are used to accept / exclude param names and values 
-&#160;<a shape="rect" class="external-link" 
href="http://struts.apache.org/maven/xwork-core/apidocs/com/opensymphony/xwork2/security/AcceptedPatternsChecker.html";
 >AcceptedPatternsChecker</a> and&#160;<a shape="rect" class="external-link" 
 >href="http://struts.apache.org/maven/xwork-core/apidocs/com/opensymphony/xwork2/security/ExcludedPatternsChecker.html";>ExcludedPatternsChecker</a>
 > with default implementations. These two interfaces are used by&#160;<a 
 >shape="rect" href="parameters-interceptor.html">Parameters Interceptor</a> 
 >and&#160;<a shape="rect" href="cookie-interceptor.html">Cookie 
 >Interceptor</a> to check if param can accepted or must be excluded. If you 
 >were using&#160;<code>excludeParams</code> previously please compare patterns 
 >used by you with these provided by the framework in default 
 >implementation.</span></p></div>
+</div></div><p>In such case OGNL cannot properly map which method to call when 
request is coming. This is do the OGNL limitation. To solve the problem don't 
use the same method's names through the hierarchy, you can simply change the 
action's method from&#160;<code>save()</code> 
to&#160;<code>saveAction()</code>&#160;and leaving annotation as is to 
allow&#160;<span style="line-height: 1.4285715;">call this action 
via&#160;</span><code style="line-height: 1.4285715;">/save.action</code><span 
style="line-height: 1.4285715;"> request.</span></p><h4 
id="Security-Accepted/Excludedpatterns"><span style="line-height: 
1.4285715;">Accepted / Excluded patterns</span></h4><p><span 
style="line-height: 1.4285715;">As from version 2.3.20 the framework provides 
two new interfaces which are used to accept / exclude param names and values 
-&#160;<a shape="rect" class="external-link" 
href="http://struts.apache.org/maven/xwork-core/apidocs/com/opensymphony/xwork2/security/AcceptedPatternsChecker.html";
 >AcceptedPatternsChecker</a> and&#160;<a shape="rect" class="external-link" 
 >href="http://struts.apache.org/maven/xwork-core/apidocs/com/opensymphony/xwork2/security/ExcludedPatternsChecker.html";>ExcludedPatternsChecker</a>
 > with default implementations. These two interfaces are used by&#160;<a 
 >shape="rect" href="parameters-interceptor.html">Parameters Interceptor</a> 
 >and&#160;<a shape="rect" href="cookie-interceptor.html">Cookie 
 >Interceptor</a> to check if param can accepted or must be excluded. If you 
 >were using&#160;<code>excludeParams</code> previously please compare patterns 
 >used by you with these provided by the framework in default 
 >implementation.</span></p><h4 id="Security-StrictMethodInvocation"><span 
 >style="line-height: 1.4285715;">Strict Method Invocation</span></h4><p><span 
 >style="line-height: 1.4285715;">This mechanism was introduced in version 2.5. 
 >It allows control what methods can be accessed with the bang "!" operator via 
 ><a shape="rect" href="action-configuration.htm
 l">Dynamic Method Invocation</a>. Please read more&#160;in Strict Method 
Invocation section of&#160;<a shape="rect" 
href="action-configuration.html">Action Configuration</a>.</span></p></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/set.html
==============================================================================
--- websites/production/struts/content/docs/set.html (original)
+++ websites/production/struts/content/docs/set.html Wed Jan 27 09:26:50 2016
@@ -159,7 +159,7 @@ If no scope is specified, it will defaul
 
 <h1 id="set-Parameters">Parameters</h1>
 
-<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">id</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Deprecated.
  Use 'var' instead</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">name</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Deprecated. Use 'var' instead</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">scope</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">action</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The scope in which to assign the variable. Can be 
<b>application</b>, <b>session</b>, <b>request</b>, <b>page</b>, or 
<b>action</b>.</td></tr><tr><td align="left" colspan="1" ro
 wspan="1" valign="top">value</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The value that is assigned to the variable named 
<i>name</i></td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">var</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Name used to reference the value pushed into the Value 
Stack</td></tr></table></p>
+<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">scope</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">action</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Th
 e scope in which to assign the variable. Can be <b>application</b>, 
<b>session</b>, <b>request</b>, <b>page</b>, or <b>action</b>.</td></tr><tr><td 
align="left" colspan="1" rowspan="1" valign="top">value</td><td align="left" 
colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" 
rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The value that is assigned to the variable named 
<i>name</i></td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">var</td><td align="left" colspan="1" rowspan="1" 
valign="top"><strong>true</strong></td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Name used to reference th
 e value pushed into the Value Stack</td></tr></table></p>
 
 <h1 id="set-Examples">Examples</h1>
 

Modified: websites/production/struts/content/docs/sort.html
==============================================================================
--- websites/production/struts/content/docs/sort.html (original)
+++ websites/production/struts/content/docs/sort.html Wed Jan 27 09:26:50 2016
@@ -153,7 +153,7 @@ pushed into the stack and poped at the e
 
 <h2 id="sort-Parameters">Parameters</h2>
 
-<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">comparator</td><td align="left" colspan="1" 
rowspan="1" valign="top"><strong>true</strong></td><td align="left" colspan="1" 
rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">java.util.Comparator</td><td align="left" colspan="1
 " rowspan="1" valign="top">The comparator to use</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">id</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Deprecated. Use 'var' instead</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">source</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The iterable source to sort</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">var</td><td align="left" colspan="1" 
rowspan="1" valign="to
 p">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td 
align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" 
colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" 
rowspan="1" valign="top">The name to store the resultant iterator into page 
context, if such name is supplied</td></tr></table></p>
+<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">comparator</td><td align="left" colspan="1" 
rowspan="1" valign="top"><strong>true</strong></td><td align="left" colspan="1" 
rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">java.util.Comparator</td><td align="left" colspan="1
 " rowspan="1" valign="top">The comparator to use</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">source</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The iterable source to sort</td></tr><tr><td align="left" 
colspan="1" rowspan="1" valign="top">var</td><td align="left" colspan="1" 
rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The name to store the resultant iterator into page context, if 
such name is supplied</td></tr></table></p>
 
 <h2 id="sort-Examples">Examples</h2>
 

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

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

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

Modified: websites/production/struts/content/docs/struts-defaultxml.html
==============================================================================
--- websites/production/struts/content/docs/struts-defaultxml.html (original)
+++ websites/production/struts/content/docs/struts-defaultxml.html Wed Jan 27 
09:26:50 2016
@@ -175,26 +175,20 @@ under the License.
     and {@link com.opensymphony.xwork2.inject.Inject}
 --&gt;
 &lt;!DOCTYPE struts PUBLIC
-    &quot;-//Apache Software Foundation//DTD Struts Configuration 2.3//EN&quot;
-    &quot;http://struts.apache.org/dtds/struts-2.3.dtd&quot;&gt;
+    &quot;-//Apache Software Foundation//DTD Struts Configuration 2.5//EN&quot;
+    &quot;http://struts.apache.org/dtds/struts-2.5.dtd&quot;&gt;
 
 &lt;struts&gt;
 
     &lt;constant name=&quot;struts.excludedClasses&quot;
-              value=&quot;
-                java.lang.Object,
-                java.lang.Runtime,
-                java.lang.System,
-                java.lang.Class,
-                java.lang.ClassLoader,
-                java.lang.Shutdown,
-                ognl.OgnlContext,
-                ognl.MemberAccess,
-                ognl.ClassResolver,
-                ognl.TypeConverter,
-                com.opensymphony.xwork2.ActionContext&quot; /&gt;
+              value=&quot;com.opensymphony.xwork2.ActionContext&quot; /&gt;
+
     &lt;!-- this must be valid regex, each &#39;.&#39; in package name must be 
escaped! --&gt;
-    &lt;constant name=&quot;struts.excludedPackageNamePatterns&quot; 
value=&quot;^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)&quot; 
/&gt;
+    &lt;!-- it&#39;s more flexible but slower than simple string comparison 
--&gt;
+    &lt;!-- constant name=&quot;struts.excludedPackageNamePatterns&quot; 
value=&quot;^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)&quot; / 
--&gt;
+
+    &lt;!-- this is simpler version of the above used with string comparison 
--&gt;
+    &lt;constant name=&quot;struts.excludedPackageNames&quot; 
value=&quot;java.lang,ognl,javax&quot; /&gt;
 
     &lt;bean class=&quot;com.opensymphony.xwork2.ObjectFactory&quot; 
name=&quot;struts&quot;/&gt;
     &lt;bean type=&quot;com.opensymphony.xwork2.factory.ResultFactory&quot; 
name=&quot;struts&quot; 
class=&quot;org.apache.struts2.factory.StrutsResultFactory&quot; /&gt;
@@ -307,7 +301,7 @@ under the License.
     &lt;bean 
type=&quot;com.opensymphony.xwork2.security.ExcludedPatternsChecker&quot; 
name=&quot;struts&quot; 
class=&quot;com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker&quot;
 scope=&quot;prototype&quot; /&gt;
     &lt;bean 
type=&quot;com.opensymphony.xwork2.security.AcceptedPatternsChecker&quot; 
name=&quot;struts&quot; 
class=&quot;com.opensymphony.xwork2.security.DefaultAcceptedPatternsChecker&quot;
 scope=&quot;prototype&quot; /&gt;
 
-    &lt;package name=&quot;struts-default&quot; abstract=&quot;true&quot;&gt;
+    &lt;package name=&quot;struts-default&quot; abstract=&quot;true&quot; 
strict-method-invocation=&quot;true&quot;&gt;
         &lt;result-types&gt;
             &lt;result-type name=&quot;chain&quot; 
class=&quot;com.opensymphony.xwork2.ActionChainResult&quot;/&gt;
             &lt;result-type name=&quot;dispatcher&quot; 
class=&quot;org.apache.struts2.result.ServletDispatcherResult&quot; 
default=&quot;true&quot;/&gt;
@@ -357,7 +351,6 @@ under the License.
             &lt;interceptor name=&quot;roles&quot; 
class=&quot;org.apache.struts2.interceptor.RolesInterceptor&quot; /&gt;
             &lt;interceptor name=&quot;annotationWorkflow&quot; 
class=&quot;com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor&quot;
 /&gt;
             &lt;interceptor name=&quot;multiselect&quot; 
class=&quot;org.apache.struts2.interceptor.MultiselectInterceptor&quot; /&gt;
-            &lt;interceptor name=&quot;deprecation&quot; 
class=&quot;org.apache.struts2.interceptor.DeprecationInterceptor&quot; /&gt;
 
             &lt;!-- Basic stack --&gt;
             &lt;interceptor-stack name=&quot;basicStack&quot;&gt;
@@ -370,7 +363,6 @@ under the License.
                 &lt;interceptor-ref name=&quot;actionMappingParams&quot;/&gt;
                 &lt;interceptor-ref name=&quot;params&quot;/&gt;
                 &lt;interceptor-ref name=&quot;conversionError&quot;/&gt;
-                &lt;interceptor-ref name=&quot;deprecation&quot;/&gt;
             &lt;/interceptor-stack&gt;
 
             &lt;!-- Sample validation and workflow stack --&gt;
@@ -476,7 +468,6 @@ under the License.
                     &lt;param 
name=&quot;excludeMethods&quot;&gt;input,back,cancel,browse&lt;/param&gt;
                 &lt;/interceptor-ref&gt;
                 &lt;interceptor-ref name=&quot;debugging&quot;/&gt;
-                &lt;interceptor-ref name=&quot;deprecation&quot;/&gt;
             &lt;/interceptor-stack&gt;
 
             &lt;!-- The completeStack is here for backwards compatibility for
@@ -503,6 +494,9 @@ under the License.
         &lt;default-interceptor-ref name=&quot;defaultStack&quot;/&gt;
 
         &lt;default-class-ref 
class=&quot;com.opensymphony.xwork2.ActionSupport&quot; /&gt;
+
+        
&lt;global-allowed-methods&gt;execute,input,back,cancel,browse,save,delete,list,index&lt;/global-allowed-methods&gt;
+
     &lt;/package&gt;
 
 &lt;/struts&gt;

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

Modified: websites/production/struts/content/docs/subset.html
==============================================================================
--- websites/production/struts/content/docs/subset.html (original)
+++ websites/production/struts/content/docs/subset.html Wed Jan 27 09:26:50 2016
@@ -148,7 +148,7 @@ perform the subset functionality.</p>
 
 <h2 id="subset-Parameters">Parameters</h2>
 
-<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">count</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">Indicat
 e the number of entries to be in the resulting subset 
iterator</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">decider</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">org.apache.struts2.util.SubsetIteratorFilter.Decider</td><td 
align="left" colspan="1" rowspan="1" valign="top">Extension to plug-in a 
decider to determine if that particular entry is to be included in the 
resulting subset iterator</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">id</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Dep
 recated. Use 'var' instead</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">source</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Indicate the source of which the resulting subset iterator is to 
be derived base on</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">start</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">Indicate the starting index (eg. first entry is 0) of entries in 
the source to be available as the first entry in the 
 resulting subset iterator</td></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">var</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">The name to store the resultant iterator into page context, if 
such name is supplied</td></tr></table></p>
+<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">count</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
valign="top">Indicat
 e the number of entries to be in the resulting subset 
iterator</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">decider</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">org.apache.struts2.util.SubsetIteratorFilter.Decider</td><td 
align="left" colspan="1" rowspan="1" valign="top">Extension to plug-in a 
decider to determine if that particular entry is to be included in the 
resulting subset iterator</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">source</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top"
 >Indicate the source of which the resulting subset iterator is to be derived 
 >base on</td></tr><tr><td align="left" colspan="1" rowspan="1" 
 >valign="top">start</td><td align="left" colspan="1" rowspan="1" 
 >valign="top">false</td><td align="left" colspan="1" rowspan="1" 
 >valign="top"></td><td align="left" colspan="1" rowspan="1" 
 >valign="top">false</td><td align="left" colspan="1" rowspan="1" 
 >valign="top">Integer</td><td align="left" colspan="1" rowspan="1" 
 >valign="top">Indicate the starting index (eg. first entry is 0) of entries in 
 >the source to be available as the first entry in the resulting subset 
 >iterator</td></tr><tr><td align="left" colspan="1" rowspan="1" 
 >valign="top">var</td><td align="left" colspan="1" rowspan="1" 
 >valign="top">false</td><td align="left" colspan="1" rowspan="1" 
 >valign="top"></td><td align="left" colspan="1" rowspan="1" 
 >valign="top">false</td><td align="left" colspan="1" rowspan="1" 
 >valign="top">String</td><td align="left" colspan="1" rowspan="1" 
 >valign="top">The
  name to store the resultant iterator into page context, if such name is 
supplied</td></tr></table></p>
 
 <h2 id="subset-Examples">Examples</h2>
 


Reply via email to