http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/basic-validation.html
----------------------------------------------------------------------
diff --git a/content/docs/basic-validation.html 
b/content/docs/basic-validation.html
new file mode 100644
index 0000000..c72a41a
--- /dev/null
+++ b/content/docs/basic-validation.html
@@ -0,0 +1,254 @@
+<!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='https://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='https://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' 
type='text/javascript'></script>
+    <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();
+    </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>Basic Validation</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="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="core-developers-guide.html">Core Developers Guide</a>&nbsp;&gt;&nbsp;<a 
href="validation.html">Validation</a>&nbsp;&gt;&nbsp;<a 
href="basic-validation.html">Basic Validation</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">Basic 
Validation</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=14196";>
+                <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=14196";>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=14196";>
+                <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=14196";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=14196";>
+                <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=14196";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><p>Let's configure a basic validation 
workflow, step by step.</p><h2 id="BasicValidation-Step1">Step 1</h2><p>Create 
the input form.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+
+&lt;html&gt;
+&lt;head&gt;
+       &lt;title&gt;Struts2 Showcase - Validation - Basic&lt;/title&gt;
+       &lt;s:head/&gt;
+&lt;/head&gt;
+
+&lt;body&gt;
+
+&lt;div class=&quot;page-header&quot;&gt;
+       &lt;h1&gt;Basic validation Example&lt;/h1&gt;
+&lt;/div&gt;
+
+&lt;div class=&quot;container-fluid&quot;&gt;
+       &lt;div class=&quot;row&quot;&gt;
+               &lt;div class=&quot;col-md-12&quot;&gt;
+
+                       &lt;p&gt;
+                               &lt;b&gt;What is your favorite color?&lt;/b&gt;
+
+                       &lt;p/&gt;
+
+                       &lt;s:form method=&quot;post&quot;&gt;
+                               &lt;s:textfield label=&quot;Name&quot; 
name=&quot;name&quot;/&gt;
+                               &lt;s:textfield label=&quot;Age&quot; 
name=&quot;age&quot;/&gt;
+                               &lt;s:textfield label=&quot;Favorite 
color&quot; name=&quot;answer&quot;/&gt;
+                               &lt;s:submit cssClass=&quot;btn 
btn-primary&quot;/&gt;
+                       &lt;/s:form&gt;
+               &lt;/div&gt;
+       &lt;/div&gt;
+&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
+]]></script>
+</div></div><h2 id="BasicValidation-Step2">Step 2</h2><p>Create the Action 
class.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+
+public class QuizAction extends ActionSupport {
+
+       private static final long serialVersionUID = -7505437345373234225L;
+
+       String name;
+       int age;
+       String answer;
+
+       public String getName() {
+               return name;
+       }
+
+       public void setName(String name) {
+               this.name = name;
+       }
+
+       public int getAge() {
+               return age;
+       }
+
+       public void setAge(int age) {
+               this.age = age;
+       }
+
+       public String getAnswer() {
+               return answer;
+       }
+
+       public void setAnswer(String answer) {
+               this.answer = answer;
+       }
+}
+
+]]></script>
+</div></div><h2 id="BasicValidation-Step3">Step 3</h2><p>Create the 
validators. The <code>validation.xml</code> format is either 
<code>&lt;ActionClassName&gt;-validation.xml</code> or 
<code>&lt;ActionClassName&gt;-&lt;ActionAliasName&gt;-validation.xml</code>.</p><div
 class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+&lt;!--
+    Add the following DOCTYPE declaration as first line of your 
XXX-validation.xml file:
+    &lt;!DOCTYPE validators PUBLIC &quot;-//Apache Struts//XWork Validator 
1.0.2//EN&quot; 
&quot;http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd&quot;&gt;
+--&gt;
+&lt;validators&gt;
+    &lt;field name=&quot;name&quot;&gt;
+        &lt;field-validator type=&quot;requiredstring&quot;&gt;
+            &lt;message&gt;You must enter a name&lt;/message&gt;
+        &lt;/field-validator&gt;
+    &lt;/field&gt;
+    &lt;field name=&quot;age&quot;&gt;
+        &lt;field-validator type=&quot;int&quot;&gt;
+            &lt;param name=&quot;min&quot;&gt;13&lt;/param&gt;
+            &lt;param name=&quot;max&quot;&gt;19&lt;/param&gt;
+            &lt;message&gt;Only people ages 13 to 19 may take this 
quiz&lt;/message&gt;
+        &lt;/field-validator&gt;
+    &lt;/field&gt;
+&lt;/validators&gt;
+
+]]></script>
+</div></div><h2 id="BasicValidation-Step4">Step 4</h2><p>Make sure there is a 
result for "input" listed in the struts.xml for when the validation 
fails:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;action name="HelloWorld" 
class="tutorial.HelloWorld"&gt;
+&lt;result name="success"&gt;/tutorial/createconfirm.jsp&lt;/result&gt;
+&lt;result name="error"&gt;/tutorial/error.jsp&lt;/result&gt;
+&lt;result name="input"&gt;/tutorial/create.jsp&lt;/result&gt;
+&lt;/action&gt;
+</pre>
+</div></div><p>If you don't have this, you'll get a: "No result defined for 
action xxx.xxx.tutorial.HellowWorld and result input" error</p></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/bean-configuration.html
----------------------------------------------------------------------
diff --git a/content/docs/bean-configuration.html 
b/content/docs/bean-configuration.html
new file mode 100644
index 0000000..8ebf3b7
--- /dev/null
+++ b/content/docs/bean-configuration.html
@@ -0,0 +1,182 @@
+<!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='https://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='https://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' 
type='text/javascript'></script>
+    <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();
+    </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>Bean Configuration</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="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="core-developers-guide.html">Core Developers Guide</a>&nbsp;&gt;&nbsp;<a 
href="configuration-elements.html">Configuration Elements</a>&nbsp;&gt;&nbsp;<a 
href="bean-configuration.html">Bean Configuration</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">Bean 
Configuration</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=29601";>
+                <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=29601";>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=29601";>
+                <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=29601";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=29601";>
+                <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=29601";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><p>Internally, the framework uses its 
own <a shape="rect" href="dependency-injection.html">dependency injection</a> 
container. The container loads key framework objects, so that any piece of the 
framework can be replaced, extended, or removed in a standard, consistent way. 
<a shape="rect" href="plugins.html">Plugins</a>, in particular, leverage this 
capability to extend the framework to provide support for third-party libraries 
like <a shape="rect" 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33274";>Spring</a>
 or <a shape="rect" 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33343";>Sitemesh</a>.
  </p>
+
+<p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> Most applications won't need to extend 
the Bean Configuration. </p>
+
+<h2 id="BeanConfiguration-Beans">Beans</h2>
+
+<p>The bean element has one required attribute, <code>class</code>, which 
specifies the Java class to be created or manipulated.  A bean can either </p>
+
+<ol><li>be created by the framework's container and injected into internal 
framework objects, or</li><li>have values injected to its static 
methods</li></ol>
+
+
+<p>The first use, object injection, is generally accompanied by the 
<code>type</code> attribute, which tells the container which interface this 
object implements.  </p>
+
+<p>The second use, value injection, is good for allowing objects not created 
by the container to receive framework constants. Objects using value inject 
must define the  the <code>static</code> attribute.</p>
+
+<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Attribute </p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Required </p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Description 
</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> class 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<strong>yes</strong> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> the name of the bean class </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> type </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> no </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> the primary Java interface this class implements 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> name 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> no </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> the unique name of 
 this bean; must be unique among other beans that specify the same 
<code>type</code> </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> scope </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> no </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> the scope of the bean; must be either 
<code>default</code>, <code>singleton</code>, <code>request</code>, 
<code>session</code>, <code>thread</code> </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> static </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> no </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> whether to inject static methods or not; shouldn't be 
<code>true</code> when the <code>type</code> is specified </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> optional </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> no </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> whether the bean is optional or not <
 /p></td></tr></tbody></table></div>
+
+
+<h3 id="BeanConfiguration-Sampleusage">Sample usage </h3>
+
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Bean Example 
(struts.xml)</b></div><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">
+&lt;struts&gt;
+
+  &lt;bean type="com.opensymphony.xwork2.ObjectFactory" name="myfactory" 
class="com.company.myapp.MyObjectFactory" /&gt;
+  
+  ... 
+
+&lt;/struts&gt;
+</pre>
+</div></div></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/bean-validation-plugin.html
----------------------------------------------------------------------
diff --git a/content/docs/bean-validation-plugin.html 
b/content/docs/bean-validation-plugin.html
new file mode 100644
index 0000000..5c04131
--- /dev/null
+++ b/content/docs/bean-validation-plugin.html
@@ -0,0 +1,300 @@
+<!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='https://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='https://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' 
type='text/javascript'></script>
+    <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();
+    </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>Bean Validation Plugin</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="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="plugin-developers-guide.html">Plugin Developers 
Guide</a>&nbsp;&gt;&nbsp;<a href="bean-validation-plugin.html">Bean Validation 
Plugin</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">Bean 
Validation Plugin</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=57904184";>
+                <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=57904184";>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=57904184";>
+                <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=57904184";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=57904184";>
+                <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=57904184";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><h1 
id="BeanValidationPlugin-BeanValidation">Bean Validation</h1><p>The Bean 
Validation plugin implements a bridge to use Bean Validation in struts actions. 
Bean Validation has been specified in JSR 303 and is part of the JavaEE 
platform. Full-fledged application servers already bring validation providers 
which can be leveraged by this plugin. The plugin integrates with other struts 
features like:</p><ul><li>i18n</li><li>model driven</li><li>AJAX 
Validation</li><li>workflow</li></ul><h1 
id="BeanValidationPlugin-Setup">Setup</h1><p>In order to use the Bean 
Validation plugin, you first need to add the JAR file to 
the&#160;<code>WEB-INF/lib</code>&#160;directory of your application or include 
the dependency in your project's Maven POM file.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeContent 
panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;dependency&gt;
+    &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
+    &lt;artifactId&gt;struts2-bean-validation-plugin&lt;/artifactId&gt;
+    &lt;version&gt;X.X.X&lt;/version&gt;
+&lt;/dependency&gt;
+</pre>
+</div></div><p>Where X.X.X is the current version of Struts 2. Please remember 
that the Bean Validation&#160;Plugin is available from version 2.5.</p><h1 
id="BeanValidationPlugin-Configuration">Configuration</h1><p>This sample shows 
the configuration constants the plugin provides. It also shows how to enable 
bean-validation by extending your own application package 
from&#160;<code>struts-bean-validation</code> which comes along with the 
plugin.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>struts.xml</b></div><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">    &lt;constant 
name="struts.beanValidation.providerClass" 
value="org.hibernate.validator.HibernateValidator"/&gt;
+    &lt;constant name="struts.beanValidation.ignoreXMLConfiguration" 
value="false"/&gt;
+    &lt;constant name="struts.beanValidation.convertMessageToUtf" 
value="false"/&gt;
+    &lt;constant name="struts.beanValidation.convertMessageFromEncoding" 
value="ISO-8859-1"/&gt;
+&#160;
+       &lt;package name="my-bean-validation" 
extends="struts-bean-validation"&gt;
+       &lt;/package&gt;</pre>
+</div></div><p>Here is another example that shows how you can combine 
bean-validation with other plugins by configuring your own Interceptor-Stack 
(note: this is just a very short example. In a real app you should take more 
care about your stack). You can combine bean validation with classic struts 
validation (or disable either) by putting the according interceptors in your 
stack (or by removing them from your stack).</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>struts.xml</b></div><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">        &lt;package name="my-app-package" 
extends="struts-default"&gt;
+               &lt;interceptors&gt;
+                       &lt;interceptor
+                               &#160;name="beanValidation"
+                               
&#160;class="org.apache.struts.beanvalidation.validation.interceptor.BeanValidationInterceptor"/&gt;
+
+                       &lt;interceptor-stack name="appDefaultStack"&gt;
+                               &lt;interceptor-ref name="beanValidation"/&gt;
+                               &lt;interceptor-ref name="defaultStack"/&gt;
+                       &lt;/interceptor-stack&gt;
+               &lt;/interceptors&gt;
+       &lt;/package&gt;</pre>
+</div></div><p>&#160;</p><h1 
id="BeanValidationPlugin-BeanValidationExample">Bean Validation 
Example</h1><p>Here is an example Action that makes use of bean validation. 
Note that some of the validation annotations are taken from <code>javax</code> 
package (which is defined in the JSR) while others are taken from the validaton 
provider (in this case: <code>hibernate</code>). You can specifiy own text keys 
in the <code>message</code> attribute of the annotations. If you do that the 
whole struts i18n mechanism kicks in to resolve those text keys.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 
1px;"><b>com.example.actions.BeanValidationAction</b></div><div 
class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">package com.example.actions;
+
+
+import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts.beanvalidation.constraints.FieldMatch;
+import org.apache.struts2.convention.annotation.Action;
+import org.apache.struts2.convention.annotation.Namespace;
+import org.apache.struts2.convention.annotation.ParentPackage;
+import org.apache.struts2.convention.annotation.Result;
+import org.apache.struts2.interceptor.validation.SkipValidation;
+import org.hibernate.validator.constraints.Email;
+import org.hibernate.validator.constraints.NotBlank;
+import org.hibernate.validator.constraints.ScriptAssert;
+import org.hibernate.validator.constraints.URL;
+import javax.validation.constraints.*;
+import java.util.Date;
+
+
+@Namespace("/bean-validation")
+@ParentPackage("my-bean-validation")
+@Action(results = {
+        @Result(name = "input", location = "bean-validation.jsp"),
+        @Result(name = "success", location = 
"/WEB-INF/validation/successFieldValidatorsExample.jsp")
+})
+@FieldMatch(first = "fieldExpressionValidatorField", second = 
"requiredValidatorField", message = "requiredValidatorField and 
fieldExpressionValidatorField are not matching")
+@ScriptAssert(lang = "javascript", script = "_this.dateValidatorField != null 
&amp;&amp; _this.dateValidatorField.before(new java.util.Date())", message = 
"Date need to before now")
+public class BeanValidationExampleAction extends ActionSupport {
+    @NotNull
+    private String requiredValidatorField = null;
+
+    @NotBlank
+    private String requiredStringValidatorField = null;
+
+    @NotNull(message="your.text.key.here")
+    @Min(1)
+    @Max(10)
+    private Integer integerValidatorField = null;
+
+    @NotNull
+    private Date dateValidatorField = null;
+
+    @NotNull
+    @Size(min = 4, max = 64)
+    @Email
+
+    private String emailValidatorField = null;
+
+    @NotNull
+    @Size(min = 4, max = 64)
+    @URL
+    private String urlValidatorField = null;
+
+    @NotNull
+    @Size(min = 2, max = 4)
+    private String stringLengthValidatorField = null;
+
+    @Pattern(regexp = "[^&lt;&gt;]+")
+    private String regexValidatorField = null;
+
+    private String fieldExpressionValidatorField = null;
+
+
+ public Date getDateValidatorField() {
+
+        return dateValidatorField;
+    }
+    public void setDateValidatorField(Date dateValidatorField) {
+        this.dateValidatorField = dateValidatorField;
+    }
+    public String getEmailValidatorField() {
+        return emailValidatorField;
+    }
+    public void setEmailValidatorField(String emailValidatorField) {
+        this.emailValidatorField = emailValidatorField;
+    }
+    public Integer getIntegerValidatorField() {
+        return integerValidatorField;
+    }
+    public void setIntegerValidatorField(Integer integerValidatorField) {
+        this.integerValidatorField = integerValidatorField;
+    }
+    public String getRegexValidatorField() {
+        return regexValidatorField;
+    }
+    public void setRegexValidatorField(String regexValidatorField) {
+        this.regexValidatorField = regexValidatorField;
+    }
+    public String getRequiredStringValidatorField() {
+        return requiredStringValidatorField;
+    }
+    public void setRequiredStringValidatorField(String 
requiredStringValidatorField) {
+        this.requiredStringValidatorField = requiredStringValidatorField;
+    }
+    public String getRequiredValidatorField() {
+        return requiredValidatorField;
+    }
+    public void setRequiredValidatorField(String requiredValidatorField) {
+        this.requiredValidatorField = requiredValidatorField;
+    }
+    public String getStringLengthValidatorField() {
+        return stringLengthValidatorField;
+    }
+    public void setStringLengthValidatorField(String 
stringLengthValidatorField) {
+        this.stringLengthValidatorField = stringLengthValidatorField;
+    }
+    public String getFieldExpressionValidatorField() {
+        return fieldExpressionValidatorField;
+    }
+    public void setFieldExpressionValidatorField(
+            String fieldExpressionValidatorField) {
+        this.fieldExpressionValidatorField = fieldExpressionValidatorField;
+    }
+    public String getUrlValidatorField() {
+        return urlValidatorField;
+    }
+    public void setUrlValidatorField(String urlValidatorField) {
+        this.urlValidatorField = urlValidatorField;
+    }
+}</pre>
+</div></div></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/bean.html
----------------------------------------------------------------------
diff --git a/content/docs/bean.html b/content/docs/bean.html
new file mode 100644
index 0000000..24dbed6
--- /dev/null
+++ b/content/docs/bean.html
@@ -0,0 +1,200 @@
+<!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='https://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='https://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' 
type='text/javascript'></script>
+    <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();
+    </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>bean</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="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="tag-developers-guide.html">Tag Developers Guide</a>&nbsp;&gt;&nbsp;<a 
href="struts-tags.html">Struts Tags</a>&nbsp;&gt;&nbsp;<a 
href="tag-reference.html">Tag Reference</a>&nbsp;&gt;&nbsp;<a 
href="generic-tag-reference.html">Generic Tag Reference</a>&nbsp;&gt;&nbsp;<a 
href="bean.html">bean</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">bean</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=13979";>
+                <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=13979";>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=13979";>
+                <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=13979";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=13979";>
+                <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=13979";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Please make sure you have read the 
<a shape="rect" href="tag-syntax.html">Tag Syntax</a> document and understand 
how tag attribute syntax works.</p></div></div>
+
+<h1 id="bean-Description">Description</h1>
+
+<p></p><p>Instantiates a class that conforms to the JavaBeans specification. 
This tag has a body which can contain
+a number of Param elements to set any mutator methods on that class.</p>
+
+<p></p><p>If the var attribute is set on the BeanTag, it will place the 
instantiated bean into the
+stack's Context.</p>
+
+
+<h1 id="bean-Parameters">Parameters</h1>
+
+<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes 
Allowed:</h4> false</td></tr><tr><td colspan="6" 
rowspan="1">&#160;</td></tr><tr><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" 
valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" 
rowspan="1" valign="top">name</td><td align="left" colspan="1" rowspan="1" 
valign="top"><strong>true</strong></td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" valign
 ="top">The class name of the bean to be instantiated (must respect JavaBean 
specification)</td></tr><tr><td align="left" colspan="1" rowspan="1" 
valign="top">var</td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top"></td><td align="left" colspan="1" rowspan="1" 
valign="top">false</td><td align="left" colspan="1" rowspan="1" 
valign="top">String</td><td align="left" colspan="1" rowspan="1" 
valign="top">Name used to reference the value pushed into the Value 
Stack</td></tr></table></p>
+
+<h1 id="bean-Examples">Examples</h1>
+
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+&lt;-- in freemarker form --&gt;
+[@s.bean name=&quot;org.apache.struts2.example.counter.SimpleCounter&quot; 
var=&quot;counter&quot;]
+  [s:param name=&quot;foo&quot; value=&quot;BAR&quot;/]
+  The value of foo is : [s:property value=&quot;foo&quot;/], when inside the 
bean tag.
+[/s:bean]
+
+&lt;-- in jsp form --&gt;
+&lt;s:bean name=&quot;org.apache.struts2.example.counter.SimpleCounter&quot; 
var=&quot;counter&quot;&gt;
+  &lt;s:param name=&quot;foo&quot; value=&quot;BAR&quot; /&gt;
+  The value of foot is : &lt;s:property value=&quot;foo&quot;/&gt;, when 
inside the bean tag &lt;br /&gt;
+&lt;/s:bean&gt;
+]]></script>
+</div></div>
+<p></p><p>This example instantiates a bean called SimpleCounter and sets the 
foo property (setFoo('BAR')). The
+SimpleCounter object is then pushed onto the Valuestack, which means that we 
can call its accessor methods (getFoo())
+with the Property tag and get their values.</p>
+
+<p></p><p>In the above example, the id has been set to a value of 
<i>counter</i>. This means that the SimpleCounter class
+will be placed into the stack's context. You can access the SimpleCounter 
class using a Struts tag:</p>
+
+<p></p><pre>
+&lt;-- jsp form --&gt;
+&lt;s:property value="#counter" /&gt;
+
+</pre><p>&lt;-- freemarker form --&gt;
+[s:property value="#counter.foo"/]
+</p>
+
+<p></p><p>In the property tag example, the <i>#</i> tells Ognl to search the 
context for the SimpleCounter class which has
+an id(key) of <i>counter</i></p></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/before-annotation.html
----------------------------------------------------------------------
diff --git a/content/docs/before-annotation.html 
b/content/docs/before-annotation.html
new file mode 100644
index 0000000..5b03a61
--- /dev/null
+++ b/content/docs/before-annotation.html
@@ -0,0 +1,183 @@
+<!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='https://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='https://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' 
type='text/javascript'></script>
+    <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();
+    </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>Before Annotation</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="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="core-developers-guide.html">Core Developers Guide</a>&nbsp;&gt;&nbsp;<a 
href="annotations.html">Annotations</a>&nbsp;&gt;&nbsp;<a 
href="before-annotation.html">Before Annotation</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">Before 
Annotation</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=14107";>
+                <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=14107";>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=14107";>
+                <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=14107";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=14107";>
+                <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=14107";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent">
+<h1 id="BeforeAnnotation-BeforeAnnotation">Before Annotation</h1>
+
+<p>Marks a action method that needs to be executed before the main action 
method.</p>
+
+<h2 id="BeforeAnnotation-Usage">Usage</h2>
+
+<p>The Before annotation can be applied at method level.</p>
+
+
+<h2 id="BeforeAnnotation-Parameters">Parameters</h2>
+
+<p><table class="confluenceTable" summary=""><tr><th colspan="1" rowspan="1" 
class="confluenceTh"> Parameter </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Required </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Default </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Notes </th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">priority</td><td colspan="1" rowspan="1" 
class="confluenceTd">no</td><td colspan="1" rowspan="1" 
class="confluenceTd">10</td><td colspan="1" rowspan="1" 
class="confluenceTd">Priority order of method execution</td></tr></table></p>
+
+<h2 id="BeforeAnnotation-Examples">Examples</h2>
+
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+public class SampleAction extends ActionSupport {
+
+ @Before
+ public void isAuthorized() throws AuthenticationException {
+   // authorize request, throw exception if failed
+ }
+
+ public String execute() {
+    // perform secure action
+    return SUCCESS;
+ }
+}
+]]></script>
+</div></div></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/beforeresult-annotation.html
----------------------------------------------------------------------
diff --git a/content/docs/beforeresult-annotation.html 
b/content/docs/beforeresult-annotation.html
new file mode 100644
index 0000000..fe44a7e
--- /dev/null
+++ b/content/docs/beforeresult-annotation.html
@@ -0,0 +1,183 @@
+<!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='https://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='https://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' 
type='text/javascript'></script>
+    <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();
+    </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>BeforeResult Annotation</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="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="core-developers-guide.html">Core Developers Guide</a>&nbsp;&gt;&nbsp;<a 
href="annotations.html">Annotations</a>&nbsp;&gt;&nbsp;<a 
href="beforeresult-annotation.html">BeforeResult Annotation</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">BeforeResult 
Annotation</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=13902";>
+                <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=13902";>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=13902";>
+                <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=13902";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=13902";>
+                <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=13902";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent">
+<h1 id="BeforeResultAnnotation-BeforeResultAnnotation">BeforeResult 
Annotation</h1>
+
+<p>Marks a action method that needs to be executed before the result. Return 
value is ignored.</p>
+
+<h2 id="BeforeResultAnnotation-Usage">Usage</h2>
+
+<p>The BeforeResult annotation can be applied at method level.</p>
+
+
+<h2 id="BeforeResultAnnotation-Parameters">Parameters</h2>
+
+<p><table class="confluenceTable" summary=""><tr><th colspan="1" rowspan="1" 
class="confluenceTh"> Parameter </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Required </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Default </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Notes </th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">priority</td><td colspan="1" rowspan="1" 
class="confluenceTd">no</td><td colspan="1" rowspan="1" 
class="confluenceTd">10</td><td colspan="1" rowspan="1" 
class="confluenceTd">Priority order of method execution</td></tr></table></p>
+
+<h2 id="BeforeResultAnnotation-Examples">Examples</h2>
+
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+public class SampleAction extends ActionSupport {
+
+ @BeforeResult
+ public void isValid() throws ValidationException {
+   // validate model object, throw exception if failed
+ }
+
+ public String execute() {
+    // perform action
+    return SUCCESS;
+ }
+}
+]]></script>
+</div></div></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.data/S2-Architecture.ygf
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.data/S2-Architecture.ygf 
b/content/docs/big-picture.data/S2-Architecture.ygf
new file mode 100644
index 0000000..92a9002
Binary files /dev/null and b/content/docs/big-picture.data/S2-Architecture.ygf 
differ

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.data/Struts2-Architecture.png
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.data/Struts2-Architecture.png 
b/content/docs/big-picture.data/Struts2-Architecture.png
new file mode 100644
index 0000000..dc4d5dd
Binary files /dev/null and 
b/content/docs/big-picture.data/Struts2-Architecture.png differ

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.data/arch.doc
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.data/arch.doc 
b/content/docs/big-picture.data/arch.doc
new file mode 100644
index 0000000..ca6f76a
Binary files /dev/null and b/content/docs/big-picture.data/arch.doc differ

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.data/arch.png
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.data/arch.png 
b/content/docs/big-picture.data/arch.png
new file mode 100644
index 0000000..2523994
Binary files /dev/null and b/content/docs/big-picture.data/arch.png differ

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.data/s2-arch-big-old.png
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.data/s2-arch-big-old.png 
b/content/docs/big-picture.data/s2-arch-big-old.png
new file mode 100644
index 0000000..bf4e98f
Binary files /dev/null and b/content/docs/big-picture.data/s2-arch-big-old.png 
differ

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.data/s2-arch-old.png
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.data/s2-arch-old.png 
b/content/docs/big-picture.data/s2-arch-old.png
new file mode 100644
index 0000000..31527ce
Binary files /dev/null and b/content/docs/big-picture.data/s2-arch-old.png 
differ

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.data/s2-arch.png
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.data/s2-arch.png 
b/content/docs/big-picture.data/s2-arch.png
new file mode 100644
index 0000000..f41e034
Binary files /dev/null and b/content/docs/big-picture.data/s2-arch.png differ

Reply via email to