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

svn commit: r1007917 [6/9] - in /websites/production/struts/content: ./ docs/

Modified: websites/production/struts/content/docs/result-types.html
==============================================================================
--- websites/production/struts/content/docs/result-types.html (original)
+++ websites/production/struts/content/docs/result-types.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();
@@ -138,7 +139,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><p>Most use cases can be divided into two phases. First, we need to change or query the application's state, and then we need to present an updated view of the application. The Action class manages the application's state, and the Result Type manages the view.</p><h2 id="ResultTypes-PredefinedResultTypes">Predefined Result Types</h2><p>The framework provides several implementations of the <code>com.opensymphony.xwork2.Result</code> interface, ready to use in your own applications.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="chain-result.html">Chain Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for <a shape="rect" href="action-chaining.html">Action Chaining</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="dispatcher-result.html">Dispatcher Result</a></p></td><td colspan="1
 " rowspan="1" class="confluenceTd"><p>Used for web resource integration, including <a shape="rect" href="jsp.html">JSP</a> integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="freemarker-result.html">FreeMarker Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for <a shape="rect" href="freemarker.html">FreeMarker</a> integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="httpheader-result.html">HttpHeader Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to control special HTTP behaviors</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="redirect-result.html">Redirect Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to redirect to another URL (web resource)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="redirect-action-result.
 html">Redirect Action Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to redirect to another action mapping</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="stream-result.html">Stream Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to stream an InputStream back to the browser (usually for file downloads)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="velocity-result.html">Velocity Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for <a shape="rect" href="velocity.html">Velocity</a> integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="xsl-result.html">XSL Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for XML/XSLT integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="plaintext-result.html">Pl
 ainText Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to display the raw content of a particular page (i.e jsp, HTML)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="tiles-2-plugin.html">Tiles 2 Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to provide Tiles 2 integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="tiles-3-plugin.html">Tiles 3 Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to provide Tiles 3 integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="postback-result.html">Postback Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to postback request parameters as a form to the specified destination</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" href="json-plugin.html">JSON Result</a></td><
 td colspan="1" rowspan="1" class="confluenceTd">Used to serialize actions into JSON</td></tr></tbody></table></div><h3 id="ResultTypes-Optional">Optional</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="jasperreports-plugin.html">JasperReports Plugin</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for <a shape="rect" href="jasperreports-tutorial.html">JasperReports Tutorial</a> integration</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Optional, third-party plugin</p></td></tr></tbody></table></div><p>Additional Result Types can be created and plugged into an application by implementing the <code>com.opensymphony.xwork2.Result</code> interface. Custom Result Types might include generating an email or JMS message, generating images, and so forth.</p><h2 id="ResultTypes-DefaultParameters">Default Parameters</h2><p>To minimize configuration, Results can be co
 nfigured with a single value, which will be converted into a parameter, and each Result can specify which parameter this value should be set as. For example, here is a result defined in XML that uses a default parameter:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+            <div id="ConfluenceContent"><p>Most use cases can be divided into two phases. First, we need to change or query the application's state, and then we need to present an updated view of the application. The Action class manages the application's state, and the Result Type manages the view.</p><h2 id="ResultTypes-PredefinedResultTypes">Predefined Result Types</h2><p>The framework provides several implementations of the <code>com.opensymphony.xwork2.Result</code> interface, ready to use in your own applications.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="chain-result.html">Chain Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for <a shape="rect" href="action-chaining.html">Action Chaining</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="dispatcher-result.html">Dispatcher Result</a></p></td><td colspan="1
 " rowspan="1" class="confluenceTd"><p>Used for web resource integration, including <a shape="rect" href="jsp.html">JSP</a> integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="freemarker-result.html">FreeMarker Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for <a shape="rect" href="freemarker.html">FreeMarker</a> integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="httpheader-result.html">HttpHeader Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to control special HTTP behaviors</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="redirect-result.html">Redirect Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to redirect to another URL (web resource)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="redirect-action-result.
 html">Redirect Action Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to redirect to another action mapping</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="stream-result.html">Stream Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to stream an InputStream back to the browser (usually for file downloads)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="velocity-result.html">Velocity Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for <a shape="rect" href="velocity.html">Velocity</a> integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="xsl-result.html">XSL Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for XML/XSLT integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="plaintext-result.html">Pl
 ainText Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to display the raw content of a particular page (i.e jsp, HTML)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="tiles-plugin.html">Tiles 2 Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to provide Tiles 2 integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="tiles-3-plugin.html">Tiles 3 Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to provide Tiles 3 integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="postback-result.html">Postback Result</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to postback request parameters as a form to the specified destination</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" href="json-plugin.html">JSON Result</a></td><td
  colspan="1" rowspan="1" class="confluenceTd">Used to serialize actions into JSON</td></tr></tbody></table></div><h3 id="ResultTypes-Optional">Optional</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="jasperreports-plugin.html">JasperReports Plugin</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used for <a shape="rect" href="jasperreports-tutorial.html">JasperReports Tutorial</a> integration</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Optional, third-party plugin</p></td></tr></tbody></table></div><p>Additional Result Types can be created and plugged into an application by implementing the <code>com.opensymphony.xwork2.Result</code> interface. Custom Result Types might include generating an email or JMS message, generating images, and so forth.</p><h2 id="ResultTypes-DefaultParameters">Default Parameters</h2><p>To minimize configuration, Results can be conf
 igured with a single value, which will be converted into a parameter, and each Result can specify which parameter this value should be set as. For example, here is a result defined in XML that uses a default parameter:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;result type="freemarker"&gt;foo.fm&lt;/result&gt;
 </pre>
 </div></div><p>That is the equivalent to this:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

Modified: websites/production/struts/content/docs/roles-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/roles-interceptor.html (original)
+++ websites/production/struts/content/docs/roles-interceptor.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/romeresult.html
==============================================================================
--- websites/production/struts/content/docs/romeresult.html (original)
+++ websites/production/struts/content/docs/romeresult.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-001.html
==============================================================================
--- websites/production/struts/content/docs/s2-001.html (original)
+++ websites/production/struts/content/docs/s2-001.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-005.html
==============================================================================
--- websites/production/struts/content/docs/s2-005.html (original)
+++ websites/production/struts/content/docs/s2-005.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-006.html
==============================================================================
--- websites/production/struts/content/docs/s2-006.html (original)
+++ websites/production/struts/content/docs/s2-006.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-009.html
==============================================================================
--- websites/production/struts/content/docs/s2-009.html (original)
+++ websites/production/struts/content/docs/s2-009.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-012.html
==============================================================================
--- websites/production/struts/content/docs/s2-012.html (original)
+++ websites/production/struts/content/docs/s2-012.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-013.html
==============================================================================
--- websites/production/struts/content/docs/s2-013.html (original)
+++ websites/production/struts/content/docs/s2-013.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-014.html
==============================================================================
--- websites/production/struts/content/docs/s2-014.html (original)
+++ websites/production/struts/content/docs/s2-014.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-015.html
==============================================================================
--- websites/production/struts/content/docs/s2-015.html (original)
+++ websites/production/struts/content/docs/s2-015.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-016.html
==============================================================================
--- websites/production/struts/content/docs/s2-016.html (original)
+++ websites/production/struts/content/docs/s2-016.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-017.html
==============================================================================
--- websites/production/struts/content/docs/s2-017.html (original)
+++ websites/production/struts/content/docs/s2-017.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-019.html
==============================================================================
--- websites/production/struts/content/docs/s2-019.html (original)
+++ websites/production/struts/content/docs/s2-019.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-020.html
==============================================================================
--- websites/production/struts/content/docs/s2-020.html (original)
+++ websites/production/struts/content/docs/s2-020.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-021.html
==============================================================================
--- websites/production/struts/content/docs/s2-021.html (original)
+++ websites/production/struts/content/docs/s2-021.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-024.html
==============================================================================
--- websites/production/struts/content/docs/s2-024.html (original)
+++ websites/production/struts/content/docs/s2-024.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

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 Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-029.html
==============================================================================
--- websites/production/struts/content/docs/s2-029.html (original)
+++ websites/production/struts/content/docs/s2-029.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-038.html
==============================================================================
--- websites/production/struts/content/docs/s2-038.html (original)
+++ websites/production/struts/content/docs/s2-038.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-039.html
==============================================================================
--- websites/production/struts/content/docs/s2-039.html (original)
+++ websites/production/struts/content/docs/s2-039.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-040.html
==============================================================================
--- websites/production/struts/content/docs/s2-040.html (original)
+++ websites/production/struts/content/docs/s2-040.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-041.html
==============================================================================
--- websites/production/struts/content/docs/s2-041.html (original)
+++ websites/production/struts/content/docs/s2-041.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/s2-044.html
==============================================================================
--- websites/production/struts/content/docs/s2-044.html (original)
+++ websites/production/struts/content/docs/s2-044.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Added: websites/production/struts/content/docs/s2-045.html
==============================================================================
--- websites/production/struts/content/docs/s2-045.html (added)
+++ websites/production/struts/content/docs/s2-045.html Wed Mar  8 12:06:28 2017
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License. 
+-->
+<html>
+<head>
+    <link type="text/css" rel="stylesheet" href="https://struts.apache.org/css/default.css">
+    <style type="text/css">
+        .dp-highlighter {
+            width:95% !important;
+        }
+    </style>
+    <style type="text/css">
+        .footer {
+            background-image:      url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+            background-repeat:     repeat-x;
+            background-position:   left top;
+            padding-top:           4px;
+            color:                 #666;
+        }
+    </style>
+    <script type="text/javascript" language="javascript">
+        var hide = null;
+        var show = null;
+        var children = null;
+
+        function init() {
+            /* Search form initialization */
+            var form = document.forms['search'];
+            if (form != null) {
+                form.elements['domains'].value = location.hostname;
+                form.elements['sitesearch'].value = location.hostname;
+            }
+
+            /* Children initialization */
+            hide = document.getElementById('hide');
+            show = document.getElementById('show');
+            children = document.all != null ?
+                    document.all['children'] :
+                    document.getElementById('children');
+            if (children != null) {
+                children.style.display = 'none';
+                show.style.display = 'inline';
+                hide.style.display = 'none';
+            }
+        }
+
+        function showChildren() {
+            children.style.display = 'block';
+            show.style.display = 'none';
+            hide.style.display = 'inline';
+        }
+
+        function hideChildren() {
+            children.style.display = 'none';
+            show.style.display = 'inline';
+            hide.style.display = 'none';
+        }
+    </script>
+    <title>S2-045</title>
+</head>
+<body onload="init()">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+    <tr class="topBar">
+        <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
+            &nbsp;<a href="home.html">Home</a>&nbsp;&gt;&nbsp;<a href="security-bulletins.html">Security Bulletins</a>&nbsp;&gt;&nbsp;<a href="s2-045.html">S2-045</a>
+        </td>
+        <td align="right" valign="middle" nowrap>
+            <form name="search" action="https://www.google.com/search" method="get">
+                <input type="hidden" name="ie" value="UTF-8" />
+                <input type="hidden" name="oe" value="UTF-8" />
+                <input type="hidden" name="domains" value="" />
+                <input type="hidden" name="sitesearch" value="" />
+                <input type="text" name="q" maxlength="255" value="" />
+                <input type="submit" name="btnG" value="Google Search" />
+            </form>
+        </td>
+    </tr>
+</table>
+
+<div id="PageContent">
+    <div class="pageheader" style="padding: 6px 0px 0px 0px;">
+        <!-- We'll enable this once we figure out how to access (and save) the logo resource -->
+        <!--img src="/wiki/images/confluence_logo.gif" style="float: left; margin: 4px 4px 4px 10px;" border="0"-->
+        <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts 2 Documentation</div>
+        <div style="margin: 0px 10px 8px 10px"  class="pagetitle">S2-045</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; margin: 0px;">
+            <a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=68717257">
+                <img src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif"
+                     height="16" width="16" border="0" align="absmiddle" title="Edit Page"></a>
+            <a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=68717257">Edit Page</a>
+            &nbsp;
+            <a href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">
+                <img src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif"
+                     height="16" width="16" border="0" align="absmiddle" title="Browse Space"></a>
+            <a href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">Browse Space</a>
+            &nbsp;
+            <a href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=68717257">
+                <img src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif"
+                     height="16" width="16" border="0" align="absmiddle" title="Add Page"></a>
+            <a href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=68717257">Add Page</a>
+            &nbsp;
+            <a href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=68717257">
+                <img src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif"
+                     height="16" width="16" border="0" align="absmiddle" title="Add News"></a>
+            <a href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=68717257">Add News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><h2 id="S2-045-Summary">Summary</h2>Possible Remote Code Execution when performing file upload based on Jakarta Multipart parser.<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>Possible RCE when performing file upload <span>based on Jakarta Multipart parser</span></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>Upgrade to <a shape="rect" href="version-notes-2332.
 html">Struts 2.3.32</a> or <a shape="rect" href="version-notes-25101.html">Struts 2.5.10.1</a></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.3.5 - Struts 2.3.31, Struts 2.5 -<span style="color: rgb(23,35,59);"> Struts 2.5.10</span></p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Nike Zheng &lt;nike dot zheng at dbappsecurity dot com dot cn&gt;</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>CVE Identifier</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>CVE-2017-5638</p></td></tr></tbody></table></div><h2 id="S2-045-Problem">Problem</h2><p>It is possible to perform a RCE attack with a malicious&#160;<code>Content-Type</code>&#160;value. If the <code>Content-Type</code>&#160;value isn't valid an exception is thrown which is then used to display an error me
 ssage to a user.</p><h2 id="S2-045-Solution">Solution</h2><p>If you are using Jakarta based file upload Multipart parser, upgrade to Apache Struts version 2.3.32 or 2.5.10.1. You can also switch to a different <a shape="rect" href="https://cwiki.apache.org/confluence/display/WW/File+Upload#FileUpload-AlternateLibraries">implementation</a> of the Multipart parser.</p><h2 id="S2-045-Backwardcompatibility">Backward compatibility</h2><p>No backward incompatibility issues are expected.</p><h2 id="S2-045-Workaround">Workaround</h2><p>Implement a Servlet filter which will validate <code>Content-Type</code>&#160;and throw away request with suspicious values not matching&#160;<code>multipart/form-data.</code></p></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>

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 Mar  8 12:06:28 2017
@@ -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.rbtoc1453884616256 {padding: 0px;}
-div.rbtoc1453884616256 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1453884616256 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1488974255363 {padding: 0px;}
+div.rbtoc1488974255363 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1488974255363 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1453884616256">
+/*]]>*/</style><div class="toc-macro rbtoc1488974255363">
 <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/scope-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/scope-interceptor.html (original)
+++ websites/production/struts/content/docs/scope-interceptor.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/scoped-model-driven-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/scoped-model-driven-interceptor.html (original)
+++ websites/production/struts/content/docs/scoped-model-driven-interceptor.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/security-bulletins.html
==============================================================================
--- websites/production/struts/content/docs/security-bulletins.html (original)
+++ websites/production/struts/content/docs/security-bulletins.html Wed Mar  8 12:06:28 2017
@@ -126,7 +126,7 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p>The following security bulletins are available:</p>
-<ul class="childpages-macro"><li><a shape="rect" href="s2-001.html">S2-001</a> &#8212; <span class="smalltext">Remote code exploit on form validation error</span></li><li><a shape="rect" href="s2-002.html">S2-002</a> &#8212; <span class="smalltext">Cross site scripting (XSS) vulnerability on &lt;s:url&gt; and &lt;s:a&gt; tags</span></li><li><a shape="rect" href="s2-003.html">S2-003</a> &#8212; <span class="smalltext">XWork ParameterInterceptors bypass allows OGNL statement execution</span></li><li><a shape="rect" href="s2-004.html">S2-004</a> &#8212; <span class="smalltext">Directory traversal vulnerability while serving static content</span></li><li><a shape="rect" href="s2-005.html">S2-005</a> &#8212; <span class="smalltext">XWork ParameterInterceptors bypass allows remote command execution</span></li><li><a shape="rect" href="s2-006.html">S2-006</a> &#8212; <span class="smalltext">Multiple Cross-Site Scripting (XSS) in XWork generated error pages</span></li><li><a shape="rect" hr
 ef="s2-007.html">S2-007</a> &#8212; <span class="smalltext">User input is evaluated as an OGNL expression when there's a conversion error</span></li><li><a shape="rect" href="s2-008.html">S2-008</a> &#8212; <span class="smalltext">Multiple critical vulnerabilities in Struts2</span></li><li><a shape="rect" href="s2-009.html">S2-009</a> &#8212; <span class="smalltext">ParameterInterceptor vulnerability allows remote command execution</span></li><li><a shape="rect" href="s2-010.html">S2-010</a> &#8212; <span class="smalltext">When using Struts 2 token mechanism for CSRF protection, token check may be bypassed by misusing known session attributes</span></li><li><a shape="rect" href="s2-011.html">S2-011</a> &#8212; <span class="smalltext">Long request parameter names might significantly promote the effectiveness of DOS attacks</span></li><li><a shape="rect" href="s2-012.html">S2-012</a> &#8212; <span class="smalltext">Showcase app vulnerability allows remote command execution</span></li>
 <li><a shape="rect" href="s2-013.html">S2-013</a> &#8212; <span class="smalltext">A vulnerability, present in the includeParams attribute of the URL and Anchor Tag, allows remote command execution</span></li><li><a shape="rect" href="s2-014.html">S2-014</a> &#8212; <span class="smalltext">A vulnerability introduced by forcing parameter inclusion in the URL and Anchor Tag allows remote command execution, session access and manipulation and XSS attacks</span></li><li><a shape="rect" href="s2-015.html">S2-015</a> &#8212; <span class="smalltext">A vulnerability introduced by wildcard matching mechanism or double evaluation of OGNL Expression allows remote command execution.</span></li><li><a shape="rect" href="s2-016.html">S2-016</a> &#8212; <span class="smalltext">A vulnerability introduced by manipulating parameters prefixed with "action:"/"redirect:"/"redirectAction:" allows remote command execution</span></li><li><a shape="rect" href="s2-017.html">S2-017</a> &#8212; <span class="sma
 lltext">A vulnerability introduced by manipulating parameters prefixed with "redirect:"/"redirectAction:" allows for open redirects</span></li><li><a shape="rect" href="s2-018.html">S2-018</a> &#8212; <span class="smalltext">Broken Access Control Vulnerability in Apache Struts2</span></li><li><a shape="rect" href="s2-019.html">S2-019</a> &#8212; <span class="smalltext">Dynamic Method Invocation disabled by default</span></li><li><a shape="rect" href="s2-020.html">S2-020</a> &#8212; <span class="smalltext">Upgrade Commons FileUpload to version 1.3.1 (avoids DoS attacks) and adds 'class' to exclude params in ParametersInterceptor (avoid ClassLoader manipulation)</span></li><li><a shape="rect" href="s2-021.html">S2-021</a> &#8212; <span class="smalltext">Improves excluded params in ParametersInterceptor and CookieInterceptor to avoid ClassLoader manipulation</span></li><li><a shape="rect" href="s2-022.html">S2-022</a> &#8212; <span class="smalltext">Extends excluded params in CookieInt
 erceptor to avoid manipulation of Struts' internals</span></li><li><a shape="rect" href="s2-023.html">S2-023</a> &#8212; <span class="smalltext">Generated value of token can be predictable</span></li><li><a shape="rect" href="s2-024.html">S2-024</a> &#8212; <span class="smalltext">Wrong excludeParams overrides those defined in DefaultExcludedPatternsChecker</span></li><li><a shape="rect" href="s2-025.html">S2-025</a> &#8212; <span class="smalltext">Cross-Site Scripting Vulnerability in Debug Mode and in exposed JSP files</span></li><li><a shape="rect" href="s2-026.html">S2-026</a> &#8212; <span class="smalltext">Special top object can be used to access Struts' internals</span></li><li><a shape="rect" href="s2-027.html">S2-027</a> &#8212; <span class="smalltext">TextParseUtil.translateVariables does not filter malicious OGNL expressions</span></li><li><a shape="rect" href="s2-028.html">S2-028</a> &#8212; <span class="smalltext">Use of a JRE with broken URLDecoder implementation may l
 ead to XSS vulnerability in Struts 2 based web applications.</span></li><li><a shape="rect" href="s2-029.html">S2-029</a> &#8212; <span class="smalltext">Forced double OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution.</span></li><li><a shape="rect" href="s2-030.html">S2-030</a> &#8212; <span class="smalltext">Possible XSS vulnerability in I18NInterceptor</span></li><li><a shape="rect" href="s2-031.html">S2-031</a> &#8212; <span class="smalltext">XSLTResult can be used to parse arbitrary stylesheet</span></li><li><a shape="rect" href="s2-032.html">S2-032</a> &#8212; <span class="smalltext">Remote Code Execution can be performed via method: prefix when Dynamic Method Invocation is enabled.</span></li><li><a shape="rect" href="s2-033.html">S2-033</a> &#8212; <span class="smalltext">Remote Code Execution can be performed when using REST Plugin with ! operator when Dynamic Method Invocation is enabled.</span></li><li><a shape="rect" h
 ref="s2-034.html">S2-034</a> &#8212; <span class="smalltext">OGNL cache poisoning can lead to DoS vulnerability</span></li><li><a shape="rect" href="s2-035.html">S2-035</a> &#8212; <span class="smalltext">Action name clean up is error prone</span></li><li><a shape="rect" href="s2-036.html">S2-036</a> &#8212; <span class="smalltext">Forced double OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution (similar to S2-029)</span></li><li><a shape="rect" href="s2-037.html">S2-037</a> &#8212; <span class="smalltext">Remote Code Execution can be performed when using REST Plugin.</span></li><li><a shape="rect" href="s2-038.html">S2-038</a> &#8212; <span class="smalltext">It is possible to bypass token validation and perform a CSRF attack</span></li><li><a shape="rect" href="s2-039.html">S2-039</a> &#8212; <span class="smalltext">Getter as action method leads to security bypass</span></li><li><a shape="rect" href="s2-040.html">S2-040</a> &#8212
 ; <span class="smalltext">Input validation bypass using existing default action method.</span></li><li><a shape="rect" href="s2-041.html">S2-041</a> &#8212; <span class="smalltext">Possible DoS attack when using URLValidator</span></li><li><a shape="rect" href="s2-042.html">S2-042</a> &#8212; <span class="smalltext">Possible path traversal in the Convention plugin</span></li><li><a shape="rect" href="s2-043.html">S2-043</a> &#8212; <span class="smalltext">Using the Config Browser plugin in production</span></li><li><a shape="rect" href="s2-044.html">S2-044</a> &#8212; <span class="smalltext">Possible DoS attack when using URLValidator</span></li></ul></div>
+<ul class="childpages-macro"><li><a shape="rect" href="s2-001.html">S2-001</a> &#8212; <span class="smalltext">Remote code exploit on form validation error</span></li><li><a shape="rect" href="s2-002.html">S2-002</a> &#8212; <span class="smalltext">Cross site scripting (XSS) vulnerability on &lt;s:url&gt; and &lt;s:a&gt; tags</span></li><li><a shape="rect" href="s2-003.html">S2-003</a> &#8212; <span class="smalltext">XWork ParameterInterceptors bypass allows OGNL statement execution</span></li><li><a shape="rect" href="s2-004.html">S2-004</a> &#8212; <span class="smalltext">Directory traversal vulnerability while serving static content</span></li><li><a shape="rect" href="s2-005.html">S2-005</a> &#8212; <span class="smalltext">XWork ParameterInterceptors bypass allows remote command execution</span></li><li><a shape="rect" href="s2-006.html">S2-006</a> &#8212; <span class="smalltext">Multiple Cross-Site Scripting (XSS) in XWork generated error pages</span></li><li><a shape="rect" hr
 ef="s2-007.html">S2-007</a> &#8212; <span class="smalltext">User input is evaluated as an OGNL expression when there's a conversion error</span></li><li><a shape="rect" href="s2-008.html">S2-008</a> &#8212; <span class="smalltext">Multiple critical vulnerabilities in Struts2</span></li><li><a shape="rect" href="s2-009.html">S2-009</a> &#8212; <span class="smalltext">ParameterInterceptor vulnerability allows remote command execution</span></li><li><a shape="rect" href="s2-010.html">S2-010</a> &#8212; <span class="smalltext">When using Struts 2 token mechanism for CSRF protection, token check may be bypassed by misusing known session attributes</span></li><li><a shape="rect" href="s2-011.html">S2-011</a> &#8212; <span class="smalltext">Long request parameter names might significantly promote the effectiveness of DOS attacks</span></li><li><a shape="rect" href="s2-012.html">S2-012</a> &#8212; <span class="smalltext">Showcase app vulnerability allows remote command execution</span></li>
 <li><a shape="rect" href="s2-013.html">S2-013</a> &#8212; <span class="smalltext">A vulnerability, present in the includeParams attribute of the URL and Anchor Tag, allows remote command execution</span></li><li><a shape="rect" href="s2-014.html">S2-014</a> &#8212; <span class="smalltext">A vulnerability introduced by forcing parameter inclusion in the URL and Anchor Tag allows remote command execution, session access and manipulation and XSS attacks</span></li><li><a shape="rect" href="s2-015.html">S2-015</a> &#8212; <span class="smalltext">A vulnerability introduced by wildcard matching mechanism or double evaluation of OGNL Expression allows remote command execution.</span></li><li><a shape="rect" href="s2-016.html">S2-016</a> &#8212; <span class="smalltext">A vulnerability introduced by manipulating parameters prefixed with "action:"/"redirect:"/"redirectAction:" allows remote command execution</span></li><li><a shape="rect" href="s2-017.html">S2-017</a> &#8212; <span class="sma
 lltext">A vulnerability introduced by manipulating parameters prefixed with "redirect:"/"redirectAction:" allows for open redirects</span></li><li><a shape="rect" href="s2-018.html">S2-018</a> &#8212; <span class="smalltext">Broken Access Control Vulnerability in Apache Struts2</span></li><li><a shape="rect" href="s2-019.html">S2-019</a> &#8212; <span class="smalltext">Dynamic Method Invocation disabled by default</span></li><li><a shape="rect" href="s2-020.html">S2-020</a> &#8212; <span class="smalltext">Upgrade Commons FileUpload to version 1.3.1 (avoids DoS attacks) and adds 'class' to exclude params in ParametersInterceptor (avoid ClassLoader manipulation)</span></li><li><a shape="rect" href="s2-021.html">S2-021</a> &#8212; <span class="smalltext">Improves excluded params in ParametersInterceptor and CookieInterceptor to avoid ClassLoader manipulation</span></li><li><a shape="rect" href="s2-022.html">S2-022</a> &#8212; <span class="smalltext">Extends excluded params in CookieInt
 erceptor to avoid manipulation of Struts' internals</span></li><li><a shape="rect" href="s2-023.html">S2-023</a> &#8212; <span class="smalltext">Generated value of token can be predictable</span></li><li><a shape="rect" href="s2-024.html">S2-024</a> &#8212; <span class="smalltext">Wrong excludeParams overrides those defined in DefaultExcludedPatternsChecker</span></li><li><a shape="rect" href="s2-025.html">S2-025</a> &#8212; <span class="smalltext">Cross-Site Scripting Vulnerability in Debug Mode and in exposed JSP files</span></li><li><a shape="rect" href="s2-026.html">S2-026</a> &#8212; <span class="smalltext">Special top object can be used to access Struts' internals</span></li><li><a shape="rect" href="s2-027.html">S2-027</a> &#8212; <span class="smalltext">TextParseUtil.translateVariables does not filter malicious OGNL expressions</span></li><li><a shape="rect" href="s2-028.html">S2-028</a> &#8212; <span class="smalltext">Use of a JRE with broken URLDecoder implementation may l
 ead to XSS vulnerability in Struts 2 based web applications.</span></li><li><a shape="rect" href="s2-029.html">S2-029</a> &#8212; <span class="smalltext">Forced double OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution.</span></li><li><a shape="rect" href="s2-030.html">S2-030</a> &#8212; <span class="smalltext">Possible XSS vulnerability in I18NInterceptor</span></li><li><a shape="rect" href="s2-031.html">S2-031</a> &#8212; <span class="smalltext">XSLTResult can be used to parse arbitrary stylesheet</span></li><li><a shape="rect" href="s2-032.html">S2-032</a> &#8212; <span class="smalltext">Remote Code Execution can be performed via method: prefix when Dynamic Method Invocation is enabled.</span></li><li><a shape="rect" href="s2-033.html">S2-033</a> &#8212; <span class="smalltext">Remote Code Execution can be performed when using REST Plugin with ! operator when Dynamic Method Invocation is enabled.</span></li><li><a shape="rect" h
 ref="s2-034.html">S2-034</a> &#8212; <span class="smalltext">OGNL cache poisoning can lead to DoS vulnerability</span></li><li><a shape="rect" href="s2-035.html">S2-035</a> &#8212; <span class="smalltext">Action name clean up is error prone</span></li><li><a shape="rect" href="s2-036.html">S2-036</a> &#8212; <span class="smalltext">Forced double OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution (similar to S2-029)</span></li><li><a shape="rect" href="s2-037.html">S2-037</a> &#8212; <span class="smalltext">Remote Code Execution can be performed when using REST Plugin.</span></li><li><a shape="rect" href="s2-038.html">S2-038</a> &#8212; <span class="smalltext">It is possible to bypass token validation and perform a CSRF attack</span></li><li><a shape="rect" href="s2-039.html">S2-039</a> &#8212; <span class="smalltext">Getter as action method leads to security bypass</span></li><li><a shape="rect" href="s2-040.html">S2-040</a> &#8212
 ; <span class="smalltext">Input validation bypass using existing default action method.</span></li><li><a shape="rect" href="s2-041.html">S2-041</a> &#8212; <span class="smalltext">Possible DoS attack when using URLValidator</span></li><li><a shape="rect" href="s2-042.html">S2-042</a> &#8212; <span class="smalltext">Possible path traversal in the Convention plugin</span></li><li><a shape="rect" href="s2-043.html">S2-043</a> &#8212; <span class="smalltext">Using the Config Browser plugin in production</span></li><li><a shape="rect" href="s2-044.html">S2-044</a> &#8212; <span class="smalltext">Possible DoS attack when using URLValidator</span></li><li><a shape="rect" href="s2-045.html">S2-045</a> &#8212; <span class="smalltext">Possible Remote Code Execution when performing file upload based on Jakarta Multipart parser.</span></li></ul></div>
         </div>
 
                     <div class="tabletitle">
@@ -141,6 +141,9 @@ under the License.
                     <span class="smalltext">(Apache Struts 2 Documentation)</span>
                     <br>
                                     $page.link($child)
+                    <span class="smalltext">(Apache Struts 2 Documentation)</span>
+                    <br>
+                                    $page.link($child)
                     <span class="smalltext">(Apache Struts 2 Documentation)</span>
                     <br>
                                     $page.link($child)

Modified: websites/production/struts/content/docs/security.html
==============================================================================
--- websites/production/struts/content/docs/security.html (original)
+++ websites/production/struts/content/docs/security.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();
@@ -139,11 +140,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1486129599528 {padding: 0px;}
-div.rbtoc1486129599528 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1486129599528 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1488974310146 {padding: 0px;}
+div.rbtoc1488974310146 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1488974310146 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1486129599528">
+/*]]>*/</style></p><div class="toc-macro rbtoc1488974310146">
 <ul class="toc-indentation"><li><a shape="rect" href="#Security-Securitytips">Security tips</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Security-RestrictaccesstotheConfigBrowser">Restrict access to the Config Browser</a></li><li><a shape="rect" href="#Security-Don'tmixdifferentaccesslevelsinthesamenamespace">Don't mix different access levels in the same namespace</a></li><li><a shape="rect" href="#Security-NeverexposeJSPfilesdirectly">Never expose JSP files directly</a></li><li><a shape="rect" href="#Security-DisabledevMode">Disable devMode</a></li><li><a shape="rect" href="#Security-Reducelogginglevel">Reduce logging level</a></li><li><a shape="rect" href="#Security-UseUTF-8encoding">Use UTF-8 encoding</a></li><li><a shape="rect" href="#Security-Donotdefinedsetterswhennotneeded">Do not defined setters when not needed</a></li><li><a shape="rect" href="#Security-Donotuseincomingvaluesasaninputforlocalisationlogic">Do not use incoming values as an input for localisation logic</a></li></ul>
 </li><li><a shape="rect" href="#Security-Internalsecuritymechanism">Internal security mechanism</a>

Modified: websites/production/struts/content/docs/select.html
==============================================================================
--- websites/production/struts/content/docs/select.html (original)
+++ websites/production/struts/content/docs/select.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/selecting-results.html
==============================================================================
--- websites/production/struts/content/docs/selecting-results.html (original)
+++ websites/production/struts/content/docs/selecting-results.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/servlet-config-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/servlet-config-interceptor.html (original)
+++ websites/production/struts/content/docs/servlet-config-interceptor.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/set.html
==============================================================================
--- websites/production/struts/content/docs/set.html (original)
+++ websites/production/struts/content/docs/set.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/short-validator.html
==============================================================================
--- websites/production/struts/content/docs/short-validator.html (original)
+++ websites/production/struts/content/docs/short-validator.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/simple-head-template.html
==============================================================================
--- websites/production/struts/content/docs/simple-head-template.html (original)
+++ websites/production/struts/content/docs/simple-head-template.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/simple-setup.html
==============================================================================
--- websites/production/struts/content/docs/simple-setup.html (original)
+++ websites/production/struts/content/docs/simple-setup.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/simplelogin-with-session.html
==============================================================================
--- websites/production/struts/content/docs/simplelogin-with-session.html (original)
+++ websites/production/struts/content/docs/simplelogin-with-session.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/sitegraph-plugin.html
==============================================================================
--- websites/production/struts/content/docs/sitegraph-plugin.html (original)
+++ websites/production/struts/content/docs/sitegraph-plugin.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/sitemesh-plugin.html
==============================================================================
--- websites/production/struts/content/docs/sitemesh-plugin.html (original)
+++ websites/production/struts/content/docs/sitemesh-plugin.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/skinning.html
==============================================================================
--- websites/production/struts/content/docs/skinning.html (original)
+++ websites/production/struts/content/docs/skinning.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/sort.html
==============================================================================
--- websites/production/struts/content/docs/sort.html (original)
+++ websites/production/struts/content/docs/sort.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/spring-and-struts-2.html
==============================================================================
--- websites/production/struts/content/docs/spring-and-struts-2.html (original)
+++ websites/production/struts/content/docs/spring-and-struts-2.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/spring-plugin.html
==============================================================================
--- websites/production/struts/content/docs/spring-plugin.html (original)
+++ websites/production/struts/content/docs/spring-plugin.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/static-content.html
==============================================================================
--- websites/production/struts/content/docs/static-content.html (original)
+++ websites/production/struts/content/docs/static-content.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/static-parameters-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/static-parameters-interceptor.html (original)
+++ websites/production/struts/content/docs/static-parameters-interceptor.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/stream-result.html
==============================================================================
--- websites/production/struts/content/docs/stream-result.html (original)
+++ websites/production/struts/content/docs/stream-result.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/stringlength-validator.html
==============================================================================
--- websites/production/struts/content/docs/stringlength-validator.html (original)
+++ websites/production/struts/content/docs/stringlength-validator.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/stringlengthfieldvalidator-annotation.html
==============================================================================
--- websites/production/struts/content/docs/stringlengthfieldvalidator-annotation.html (original)
+++ websites/production/struts/content/docs/stringlengthfieldvalidator-annotation.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/struts-1-plugin.html
==============================================================================
--- websites/production/struts/content/docs/struts-1-plugin.html (original)
+++ websites/production/struts/content/docs/struts-1-plugin.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/struts-1-solutions.html
==============================================================================
--- websites/production/struts/content/docs/struts-1-solutions.html (original)
+++ websites/production/struts/content/docs/struts-1-solutions.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/struts-2-annotations.html
==============================================================================
--- websites/production/struts/content/docs/struts-2-annotations.html (original)
+++ websites/production/struts/content/docs/struts-2-annotations.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

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 Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();
@@ -149,11 +150,11 @@ under the License.
 <p><strong>Contents</strong></p>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1453884536773 {padding: 0px;}
-div.rbtoc1453884536773 ul {list-style: none;margin-left: 0px;padding-left: 1em;}
-div.rbtoc1453884536773 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1488974180184 {padding: 0px;}
+div.rbtoc1488974180184 ul {list-style: none;margin-left: 0px;padding-left: 1em;}
+div.rbtoc1488974180184 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1453884536773">
+/*]]>*/</style><div class="toc-macro rbtoc1488974180184">
 <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-form-tags.html
==============================================================================
--- websites/production/struts/content/docs/struts-2-form-tags.html (original)
+++ websites/production/struts/content/docs/struts-2-form-tags.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();

Modified: websites/production/struts/content/docs/struts-2-junit-plugin-tutorial.html
==============================================================================
--- websites/production/struts/content/docs/struts-2-junit-plugin-tutorial.html (original)
+++ websites/production/struts/content/docs/struts-2-junit-plugin-tutorial.html Wed Mar  8 12:06:28 2017
@@ -43,6 +43,7 @@ under the License.
     <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
     <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushCss.js' type='text/javascript'></script>
     <script type="text/javascript">
         SyntaxHighlighter.defaults['toolbar'] = false;
         SyntaxHighlighter.all();