struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lukaszlen...@apache.org
Subject svn commit: r906991 [12/17] - /websites/production/struts/content/release/2.3.x/docs/
Date Sat, 26 Apr 2014 18:40:46 GMT
Added: websites/production/struts/content/release/2.3.x/docs/s2-021.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/s2-021.html (added)
+++ websites/production/struts/content/release/2.3.x/docs/s2-021.html Sat Apr 26 18:40:39 2014
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License. 
+-->
+<html>
+<head>
+    <link type="text/css" rel="stylesheet" href="https://struts.apache.org/css/default.css">
+    <style type="text/css">
+        .dp-highlighter {
+            width:95% !important;
+        }
+    </style>
+    <style type="text/css">
+        .footer {
+            background-image:      url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+            background-repeat:     repeat-x;
+            background-position:   left top;
+            padding-top:           4px;
+            color:                 #666;
+        }
+    </style>
+    <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
+    <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
+    <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
+    <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
+
+    <script type="text/javascript">
+        SyntaxHighlighter.defaults['toolbar'] = false;
+        SyntaxHighlighter.all();
+    </script>
+    <script type="text/javascript" language="javascript">
+        var hide = null;
+        var show = null;
+        var children = null;
+
+        function init() {
+            /* Search form initialization */
+            var form = document.forms['search'];
+            if (form != null) {
+                form.elements['domains'].value = location.hostname;
+                form.elements['sitesearch'].value = location.hostname;
+            }
+
+            /* Children initialization */
+            hide = document.getElementById('hide');
+            show = document.getElementById('show');
+            children = document.all != null ?
+                    document.all['children'] :
+                    document.getElementById('children');
+            if (children != null) {
+                children.style.display = 'none';
+                show.style.display = 'inline';
+                hide.style.display = 'none';
+            }
+        }
+
+        function showChildren() {
+            children.style.display = 'block';
+            show.style.display = 'none';
+            hide.style.display = 'inline';
+        }
+
+        function hideChildren() {
+            children.style.display = 'none';
+            show.style.display = 'inline';
+            hide.style.display = 'none';
+        }
+    </script>
+    <title>S2-021</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-021.html">S2-021</a>
+        </td>
+        <td align="right" valign="middle" nowrap>
+            <form name="search" action="http://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-021</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; margin: 0px;">
+            <a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=40510231">
+                <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=40510231">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=40510231">
+                <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=40510231">Add Page</a>
+            &nbsp;
+            <a href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=40510231">
+                <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=40510231">Add News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><h2 id="S2-021-Summary">Summary</h2>Improves excluded params in ParametersInterceptor and CookieInterceptor to avoid ClassLoader manipulation<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>ClassLoader manipulation</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>Developers should immediately upgrade to <a shape="rect" class="external-link" href="http://struts.apac
 he.org/download.cgi#struts23162">Struts 2.3.16.2</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.0.0 - Struts 2.3.16.1</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Taki Uchiyama (JPCERT/CC), <br clear="none">Takeshi Terada (Mitsui Bussan Secure Directions, Inc.), <br clear="none">Takayoshi Isayama (Mitsui Bussan Secure Directions, Inc.), <br clear="none">Yoshiyuki Karezaki (Yoshiyuki.Karezaki at scsk.jp)<br clear="none"><span style="line-height: 1.4285715;">BAKA/ty (<span style="color: rgb(85,85,85);">121605589 at qq.com)</span>, <br clear="none"></span><span style="line-height: 1.4285715;">Shine (1983059165 at qq.com), <br clear="none">NSFOCUS Security Team,<br clear="none"></span><span style="line-height: 1.4285715;">heige (zhoujp at knownsec.com</span>)</p></td></tr><tr><th cols
 pan="1" rowspan="1" class="confluenceTh"><p>CVE Identifier</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p><span>CVE-2014-0112 - </span>Incomplete fix for ClassLoader manipulation via ParametersInterceptor</p><p><span>CVE-2014-0113 - </span>ClassLoader manipulation via CookieInterceptor when configured to accept all cookies</p></td></tr></tbody></table></div><h2 id="S2-021-Problem">Problem</h2><p>The excluded parameter pattern introduced in version 2.3.16.1 to block access to getClass() method wasn't sufficient. It is possible to omit that with specially crafted requests. Also CookieInterceptor is vulnerable for the same kind of attack when it was configured to accept all cookies (when "*" is used to configure&#160;<code>cookiesName</code> param).</p><h2 id="S2-021-Solution">Solution</h2><p>In Struts 2.3.16.2 improved "class" pattern was introduced directly to ParametersInterceptor and CookieInterceptor.</p><h2 id="S2-021-Backwardcompatibility">Backward compatibility</h2
 ><p>No backward compatibility problems are expected.</p><h2 id="S2-021-Workaround">Workaround</h2><h2 id="S2-021-Ifyoucannotupgradetoversion2.3.16.2immediately-whichisstronglyadvised-youcanapplybelowworkarounds:"><span style="font-size: 14.0px;line-height: 1.4285715;">If you cannot upgrade to version 2.3.16.2 immediately -&#160;<strong>which is strongly advised -</strong>&#160;you can apply below workarounds:</span></h2><h3 id="S2-021-Exclude'class'parameter"><span style="line-height: 1.5625;">Exclude 'class' parameter</span></h3><p>Replace the previous class related pattern with '(.*\.|^|.*|\[('|"))class(\.|('|")]|\[).*' on&#160;the list of excludeParams as below</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;interceptor-ref name=&quot;params&quot;&gt;
+  &lt;param name=&quot;excludeParams&quot;&gt;(.*\.|^|.*|\[(&#39;|&quot;))(c|C)lass(\.|(&#39;|&quot;)]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*&lt;/param&gt;
+&lt;/interceptor-ref&gt;]]></script>
+</div></div><p>It isn't possible to do the same with CookieInterceptor, so don't use wildcard mapping to accept cookie names or implement your own version of CookieInterceptor based on code provided in Struts 2.3.16.2.</p><p>Please be aware that this workaround is not as complete as the corrections in Struts 2.1.16.2</p></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>
\ No newline at end of file

Modified: websites/production/struts/content/release/2.3.x/docs/sample-announcements.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/sample-announcements.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/sample-announcements.html Sat Apr 26 18:40:39 2014
@@ -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.rbtoc1394094447347 {padding: 0px;}
-div.rbtoc1394094447347 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1394094447347 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1396727561799 {padding: 0px;}
+div.rbtoc1396727561799 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1396727561799 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1394094447347">
+/*]]>*/</style><div class="toc-macro rbtoc1396727561799">
 <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/release/2.3.x/docs/scope-interceptor.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/scope-interceptor.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/scope-interceptor.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/scoped-model-driven-interceptor.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/scoped-model-driven-interceptor.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/scoped-model-driven-interceptor.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/security-bulletins.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/security-bulletins.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/security-bulletins.html Sat Apr 26 18:40:39 2014
@@ -19,7 +19,7 @@ under the License. 
 -->
 <html>
 <head>
-    <LINK type="text/css" rel="stylesheet" href="https://struts.apache.org/css/default.css">
+    <link type="text/css" rel="stylesheet" href="https://struts.apache.org/css/default.css">
     <style type="text/css">
         .dp-highlighter {
             width:95% !important;
@@ -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 <url> and <a> tags</a></url></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" href="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="smalltext
 ">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></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 <url> and <a> tags</a></url></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" href="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="smalltext
 ">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></ul></div>
         </div>
 
                     <div class="tabletitle">
@@ -197,6 +197,9 @@ under the License. 
                                     $page.link($child)
                     <span class="smalltext">(Apache Struts 2 Documentation)</span>
                     <br>
+                                    $page.link($child)
+                    <span class="smalltext">(Apache Struts 2 Documentation)</span>
+                    <br>
                             </div>
         
     </div>

Modified: websites/production/struts/content/release/2.3.x/docs/security.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/security.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/security.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
     
     <script type="text/javascript">

Modified: websites/production/struts/content/release/2.3.x/docs/select.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/select.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/select.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/selecting-results.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/selecting-results.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/selecting-results.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
     
     <script type="text/javascript">

Modified: websites/production/struts/content/release/2.3.x/docs/servlet-config-interceptor.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/servlet-config-interceptor.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/servlet-config-interceptor.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/set.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/set.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/set.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/short-validator.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/short-validator.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/short-validator.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/simple-head-template.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/simple-head-template.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/simple-head-template.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/simple-setup.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/simple-setup.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/simple-setup.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
     
     <script type="text/javascript">

Modified: websites/production/struts/content/release/2.3.x/docs/simplelogin-with-session.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/simplelogin-with-session.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/simplelogin-with-session.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
     
     <script type="text/javascript">

Modified: websites/production/struts/content/release/2.3.x/docs/sitegraph-plugin.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/sitegraph-plugin.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/sitegraph-plugin.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/sitemesh-plugin.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/sitemesh-plugin.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/sitemesh-plugin.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
     
     <script type="text/javascript">

Modified: websites/production/struts/content/release/2.3.x/docs/skinning.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/skinning.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/skinning.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
     
     <script type="text/javascript">

Modified: websites/production/struts/content/release/2.3.x/docs/sort.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/sort.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/sort.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/spring-and-struts-2.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/spring-and-struts-2.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/spring-and-struts-2.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
     
@@ -139,110 +138,51 @@ under the License. 
             <div id="ConfluenceContent">    <div class="aui-message hint shadowed information-macro">
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            <p>The example code for this tutorial, spring_struts, is available for checkout at <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/struts/sandbox/trunk/struts2examples/">https://svn.apache.org/repos/asf/struts/sandbox/trunk/struts2examples/</a></p>
+                            <p>The example code for this tutorial, spring_struts, is available for checkout at <a shape="rect" class="external-link" href="https://github.com/apache/struts-examples" rel="nofollow">https://github.com/apache/struts-examples</a></p>
                     </div>
     </div>
-
-
-<h3 id="SpringandStruts2-Introduction">Introduction</h3>
-
-<p>In the execute method of many Struts 2 ActionSupport classes are statements that create objects and then have those objects execute methods that perform needed tasks. Whenever one class creates an object of another class that introduces a dependency between the two classes. The Spring framework makes it easier for the application developer to manage these dependencies and helps make the application more flexible and maintainable. This tutorial will show you how to use Struts 2 and Spring together to manage the dependencies between your ActionSupport classes and other classes in your application.</p>
-
-    <div class="aui-message hint shadowed information-macro">
+<h3 id="SpringandStruts2-Introduction">Introduction</h3><p>In the execute method of many Struts 2 ActionSupport classes are statements that create objects and then have those objects execute methods that perform needed tasks. Whenever one class creates an object of another class that introduces a dependency between the two classes. The Spring framework makes it easier for the application developer to manage these dependencies and helps make the application more flexible and maintainable. This tutorial will show you how to use Struts 2 and Spring together to manage the dependencies between your ActionSupport classes and other classes in your application.</p>    <div class="aui-message hint shadowed information-macro">
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            <p>This tutorial assumes you understand how to use the Spring framework to manage dependencies between classes.  You can learn more about Spring by reading the documentation at <a shape="rect" class="external-link" href="http://www.springsource.org/documentation" rel="nofollow">http://www.springsource.org/documentation</a></p>
+                            <p>This tutorial assumes you understand how to use the Spring framework to manage dependencies between classes. You can learn more about Spring by reading the documentation at <a shape="rect" class="external-link" href="http://www.springsource.org/documentation" rel="nofollow">http://www.springsource.org/documentation</a></p>
                     </div>
     </div>
-
-
     <div class="aui-message success shadowed information-macro">
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
                             <p>The <a shape="rect" class="external-link" href="http://struts.apache.org/mail.html">Struts 2 user mailing list</a> is an excellent place to get help. If you are having a problem getting the tutorial example applications to work search the Struts 2 mailing list. If you don't find an answer to your problem, post a question on the mailing list.</p>
                     </div>
     </div>
-
-
-<p>If you examine the example application for the <a shape="rect" href="struts-2-themes.html">Struts 2 Themes</a> tutorial you'll see this code in the EditAction ActionSupport class</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>EditAction Class Hard-Coded Dependency</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-
-private EditService editService = new EditServiceInMemory();
+<p>If you examine the example application for the <a shape="rect" href="struts-2-themes.html">Struts 2 Themes</a> tutorial you'll see this code in the EditAction ActionSupport class</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>EditAction Class Hard-Coded Dependency</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[private EditService editService = new EditServiceInMemory();
 
 ]]></script>
-</div></div>
-
-<p>The above statement hard-codes a dependency between the EditAction class and the EditServiceInMemory class.  This is poor design for two reasons.  </p>
-
-<ol><li>If I need to replace the EditServiceInMemory with another class that implements the EditService interface I'll have to hunt down and replace all statements where I hard-coded the dependency.</li><li>I cannot test EditAction without using the EditServiceInMemory class.  I cannot isolate EditAction by using a stub implementation of EditService when writing my test case because the use of EditServiceInMemory is hard-coded.</li></ol>
-
-
-<p>Spring provides a mechanism to manage dependencies by injecting them at run time. Struts 2 ActionSupport classes&#8212;like any other Java class&#8212;can be injected with a dependent object by the Spring framework.  So instead of having the above code, I would have this statement in EditAction.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>EditAction Class No Hard-Coded Dependency</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-
-    private EditService editService ;
+</div></div><p>The above statement hard-codes a dependency between the EditAction class and the EditServiceInMemory class. This is poor design for two reasons.</p><ol><li>If I need to replace the EditServiceInMemory with another class that implements the EditService interface I'll have to hunt down and replace all statements where I hard-coded the dependency.</li><li>I cannot test EditAction without using the EditServiceInMemory class. I cannot isolate EditAction by using a stub implementation of EditService when writing my test case because the use of EditServiceInMemory is hard-coded.</li></ol><p>Spring provides a mechanism to manage dependencies by injecting them at run time. Struts 2 ActionSupport classes&#8212;like any other Java class&#8212;can be injected with a dependent object by the Spring framework. So instead of having the above code, I would have this statement in EditAction.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pd
 l" style="border-bottom-width: 1px;"><b>EditAction Class No Hard-Coded Dependency</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[    private EditService editService ;
 
 ]]></script>
-</div></div>
-
-<p>At run time the Spring framework will provide an object of a class that implements the EditService interface.</p>
-
-<h3 id="SpringandStruts2-Struts2SpringPlugin">Struts 2 Spring Plugin</h3>
-
-<p>Struts 2 provides a plugin that enables Spring to inject into the ActionSupport classes any dependent objects you've specified in the Spring configuration file.  Consult <a shape="rect" href="spring-plugin.html">Spring Plugin documentation</a> for more information about how the plugin works.  </p>
-
-<p>For a Maven application you'll need to add a dependency to the struts2-spring-plugin jar (see the Maven example application for this tutorial).  The plugin's pom.xml includes transitive dependencies to the Spring jar files.</p>
-
-    <div class="aui-message success shadowed information-macro">
+</div></div><p>At run time the Spring framework will provide an object of a class that implements the EditService interface.</p><h3 id="SpringandStruts2-Struts2SpringPlugin">Struts 2 Spring Plugin</h3><p>Struts 2 provides a plugin that enables Spring to inject into the ActionSupport classes any dependent objects you've specified in the Spring configuration file. Consult <a shape="rect" href="spring-plugin.html">Spring Plugin documentation</a> for more information about how the plugin works.</p><p>For a Maven application you'll need to add a dependency to the struts2-spring-plugin jar (see the Maven example application for this tutorial). The plugin's pom.xml includes transitive dependencies to the Spring jar files.</p>    <div class="aui-message success shadowed information-macro">
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
-                            <p>The current version (2.3.15) of the Struts 2 Spring plugin has transitive dependencies to the Spring 3.0.5 version.  If you want to use the latest version of Spring, then you should exclude the transitive dependencies in your pom.xml for the Struts 2 Spring plugin and then declare dependency nodes to the current version of the Spring jar files.  If you are using Ant and explicitly including the jar files in your application, then just include the latest version of the Spring jar files.</p>
+                            <p>The current version (2.3.15) of the Struts 2 Spring plugin has transitive dependencies to the Spring 3.0.5 version. If you want to use the latest version of Spring, then you should exclude the transitive dependencies in your pom.xml for the Struts 2 Spring plugin and then declare dependency nodes to the current version of the Spring jar files. If you are using Ant and explicitly including the jar files in your application, then just include the latest version of the Spring jar files.</p>
                     </div>
     </div>
-
-
-<p>In your ActionSupport class you must have a set method for the dependent object that follows standard Java bean naming conventions.  If you examine the EditAction class for this tutorial's application you'll see this set method.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-
-public void setEditService(EditService editService) {
+<p>In your ActionSupport class you must have a set method for the dependent object that follows standard Java bean naming conventions. If you examine the EditAction class for this tutorial's application you'll see this set method.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public void setEditService(EditService editService) {
 		
    this.editService = editService;
 		
 }
 
 ]]></script>
-</div></div>
-
-<p>Spring will use that set method to provide an object of type EditService to the EditAction class at run time.</p>
-
-<p>To make our application "Spring aware" we need to add this line to web.xml.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Spring Listener In web.xml</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-
-&lt;listener&gt;
+</div></div><p>Spring will use that set method to provide an object of type EditService to the EditAction class at run time.</p><p>To make our application "Spring aware" we need to add this line to web.xml.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Spring Listener In web.xml</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;listener&gt;
 	&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;
 &lt;/listener&gt;
 
 ]]></script>
-</div></div>
-
-<p>The above code will activate the Spring framework when the application is started up by the Servlet container.  By default Spring will look for a configuration file name applicationContext.xml in WEB-INF (consult the Spring documentation for how you can change where Spring looks and what the configuration file name is).</p>
-
-<h3 id="SpringandStruts2-SpringConfigurationFile">Spring Configuration File</h3>
-
-<p>In the Spring configuration file we create a bean node for those objects we want Spring to create an instance of and inject into our ActionSupport class.  In the example application is this applicationContext.xml.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Spring Configuration File</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-
-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+</div></div><p>The above code will activate the Spring framework when the application is started up by the Servlet container. By default Spring will look for a configuration file name applicationContext.xml in WEB-INF (consult the Spring documentation for how you can change where Spring looks and what the configuration file name is).</p><h3 id="SpringandStruts2-SpringConfigurationFile">Spring Configuration File</h3><p>In the Spring configuration file we create a bean node for those objects we want Spring to create an instance of and inject into our ActionSupport class. In the example application is this applicationContext.xml.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Spring Configuration File</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
 &lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
        xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
        xsi:schemaLocation=&quot;
@@ -254,26 +194,14 @@ public void setEditService(EditService e
 &lt;/beans&gt;
 
 ]]></script>
-</div></div>
-
-<p>Note the id value above.  By default the Spring plugin works with Spring to autowire the dependencies of the ActionClass by "name."  Spring will create an object of class EditServiceMemory and provide that object to any ActionSupport class that has a setEditService method with an argument of type EditService.  Consult the  <a shape="rect" href="spring-plugin.html">Spring Plugin</a> documentation for how to change the default autowire method.</p>
-
-    <div class="aui-message success shadowed information-macro">
+</div></div><p>Note the id value above. By default the Spring plugin works with Spring to autowire the dependencies of the ActionClass by "name." Spring will create an object of class EditServiceMemory and provide that object to any ActionSupport class that has a setEditService method with an argument of type EditService. Consult the <a shape="rect" href="spring-plugin.html">Spring Plugin</a> documentation for how to change the default autowire method.</p>    <div class="aui-message success shadowed information-macro">
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
-                            <p>The editService bean created by Spring will have a scope of singleton since that is the default scope.  Consult section 3.5 of the <a shape="rect" class="external-link" href="http://www.springsource.org/documentation" rel="nofollow">Spring documentation</a> for how to configure the bean definition to use a different scope (e.g. request or session).</p>
+                            <p>The editService bean created by Spring will have a scope of singleton since that is the default scope. Consult section 3.5 of the <a shape="rect" class="external-link" href="http://www.springsource.org/documentation" rel="nofollow">Spring documentation</a> for how to configure the bean definition to use a different scope (e.g. request or session).</p>
                     </div>
     </div>
-
-
-<h3 id="SpringandStruts2-Alternative-HaveSpringManageCreationOfActionSupportClass">Alternative - Have Spring Manage Creation Of ActionSupport Class</h3>
-
-<p>Using the above methodology, the Struts 2 framework will still manage the creation of the ActionSupport class.  If you prefer you can configure the application so that Spring will create the ActionSupport class also.  To support this technique you need to add a bean node to the Spring configuration file for the ActionSupport class.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Spring Configuration For ActionSupport Class Managed By Spring</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-
-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+<h3 id="SpringandStruts2-Alternative-HaveSpringManageCreationOfActionSupportClass">Alternative - Have Spring Manage Creation Of ActionSupport Class</h3><p>Using the above methodology, the Struts 2 framework will still manage the creation of the ActionSupport class. If you prefer you can configure the application so that Spring will create the ActionSupport class also. To support this technique you need to add a bean node to the Spring configuration file for the ActionSupport class.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Spring Configuration For ActionSupport Class Managed By Spring</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
 &lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
        xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
        xsi:schemaLocation=&quot;
@@ -292,28 +220,13 @@ public void setEditService(EditService e
 &lt;/beans&gt;
 
 ]]></script>
-</div></div>
-
-<p>Note in the above that there is an editAction bean and its editService property is set to the editService bean.  Since we are having Spring manage the EditAction class we must specify any properties of EditAction that we want Spring to inject.</p>
-
-<p>In the struts.xml configuration file you must specify the Spring id value for the class attribute of the action node.  This tells Struts to get a bean with that id value from Spring for the Action class.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Struts Configuration For Spring Managed ActionSupport Class</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-
-&lt;action name=&quot;edit&quot; class=&quot;editAction&quot; method=&quot;input&quot;&gt;
+</div></div><p>Note in the above that there is an editAction bean and its editService property is set to the editService bean. Since we are having Spring manage the EditAction class we must specify any properties of EditAction that we want Spring to inject.</p><p>In the struts.xml configuration file you must specify the Spring id value for the class attribute of the action node. This tells Struts to get a bean with that id value from Spring for the Action class.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Struts Configuration For Spring Managed ActionSupport Class</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;action name=&quot;edit&quot; class=&quot;editAction&quot; method=&quot;input&quot;&gt;
 	&lt;result name=&quot;input&quot;&gt;/edit.jsp&lt;/result&gt;
 &lt;/action&gt;
 
 ]]></script>
-</div></div>
-
-<h3 id="SpringandStruts2-Summary">Summary</h3>
-
-<p>In this tutorial we reviewed how to use the Struts 2 Spring plugin to integrate Spring and Struts.  By using the Struts 2 Spring plugin you can have Spring manage the dependencies of your ActionSupport classes.  Of course you can also take advantage of the many other benefits (AOP, Spring JDBC) that the Spring framework provides.</p>
-
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Next </p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> Onward to <a shape="rect" href="struts-2-annotations.html">Struts 2 Annotations</a> </p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Previous </p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> Return to <a shape="rect" href="struts-2-themes.html">Struts 2 Themes</a> </p></td></tr></tbody></table></div></div>
+</div></div><h3 id="SpringandStruts2-Summary">Summary</h3><p>In this tutorial we reviewed how to use the Struts 2 Spring plugin to integrate Spring and Struts. By using the Struts 2 Spring plugin you can have Spring manage the dependencies of your ActionSupport classes. Of course you can also take advantage of the many other benefits (AOP, Spring JDBC) that the Spring framework provides.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Next</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Onward to <a shape="rect" href="struts-2-annotations.html">Struts 2 Annotations</a></p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Previous</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Return to <a shape="rect" href="struts-2-themes.html">Struts 2 Themes</a></p></td></tr></tbody></table></div></div>
         </div>
 
         

Modified: websites/production/struts/content/release/2.3.x/docs/spring-plugin.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/spring-plugin.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/spring-plugin.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
     

Modified: websites/production/struts/content/release/2.3.x/docs/static-content.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/static-content.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/static-content.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
     

Modified: websites/production/struts/content/release/2.3.x/docs/static-parameters-interceptor.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/static-parameters-interceptor.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/static-parameters-interceptor.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/stream-result.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/stream-result.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/stream-result.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/stringlength-validator.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/stringlength-validator.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/stringlength-validator.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/stringlengthfieldvalidator-annotation.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/stringlengthfieldvalidator-annotation.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/stringlengthfieldvalidator-annotation.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/struts-1-plugin.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/struts-1-plugin.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/struts-1-plugin.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>

Modified: websites/production/struts/content/release/2.3.x/docs/struts-1-solutions.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/struts-1-solutions.html (original)
+++ websites/production/struts/content/release/2.3.x/docs/struts-1-solutions.html Sat Apr 26 18:40:39 2014
@@ -37,7 +37,6 @@ under the License. 
     <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
     <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
     <script src='http://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
-    <script src='http://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
             <script src='http://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
     
     <script type="text/javascript">



Mime
View raw message