You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by ws...@apache.org on 2005/11/26 08:22:53 UTC

svn commit: r349095 - in /struts/action/trunk: ./ xdocs/ xdocs/faqs/ xdocs/userGuide/

Author: wsmoak
Date: Fri Nov 25 23:22:43 2005
New Revision: 349095

URL: http://svn.apache.org/viewcvs?rev=349095&view=rev
Log:
Documentation updates related to the move from 'core' to 'action'.

Modified:
    struts/action/trunk/project.xml
    struts/action/trunk/xdocs/faqs/navigation.xml
    struts/action/trunk/xdocs/learning.xml
    struts/action/trunk/xdocs/navigation.xml   (contents, props changed)
    struts/action/trunk/xdocs/roadmap.xml
    struts/action/trunk/xdocs/userGuide/building_controller.xml
    struts/action/trunk/xdocs/userGuide/building_view.xml
    struts/action/trunk/xdocs/userGuide/configuration.xml
    struts/action/trunk/xdocs/userGuide/dev_util.xml
    struts/action/trunk/xdocs/userGuide/introduction.xml
    struts/action/trunk/xdocs/userGuide/navigation.xml
    struts/action/trunk/xdocs/userGuide/release-notes.xml   (contents, props changed)

Modified: struts/action/trunk/project.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/project.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/project.xml (original)
+++ struts/action/trunk/project.xml Fri Nov 25 23:22:43 2005
@@ -39,6 +39,9 @@
         application, based on published standards and proven design patterns.
    </description>
 
+   <siteAddress>people.apache.org</siteAddress>
+   <siteDirectory>/www/struts.apache.org/struts-action/</siteDirectory>
+
   <repository>
     <connection>scm|svn|http|//svn.apache.org/repos/asf/struts/action/trunk</connection>
     <developerConnection>scm|svn|https|//svn.apache.org/repos/asf/struts/action/trunk</developerConnection>

Modified: struts/action/trunk/xdocs/faqs/navigation.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/faqs/navigation.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/faqs/navigation.xml (original)
+++ struts/action/trunk/xdocs/faqs/navigation.xml Fri Nov 25 23:22:43 2005
@@ -13,7 +13,7 @@
             name="Newbie FAQ"/>
         <item 
             href="faqs/works.html" 
-            name="How Does Struts Core Work?"/>
+            name="How Does Struts Action Work?"/>
     </menu>
 
     <menu name="HOWTOs">
@@ -48,7 +48,7 @@
             href="apidocs/index.html"/>
        <item
             name="Source Repository"
-            href="http://svn.apache.org/viewcvs.cgi/struts/core/trunk/?root=Apache-SVN"/>
+            href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/?root=Apache-SVN"/>
         <item 
             name="Struts Action Home"
             href="index.html"/>

Modified: struts/action/trunk/xdocs/learning.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/learning.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/learning.xml (original)
+++ struts/action/trunk/xdocs/learning.xml Fri Nov 25 23:22:43 2005
@@ -47,7 +47,7 @@
     
     <p>
     	The <a href="apidocs/index.html">Javadocs</a> 
-    	and <a href="http://svn.apache.org/viewcvs.cgi/struts/core/trunk/">source code</a> 
+    	and <a href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/">source code</a> 
     	can also be browsed.
     </p>
 

Modified: struts/action/trunk/xdocs/navigation.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/navigation.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/navigation.xml (original)
+++ struts/action/trunk/xdocs/navigation.xml Fri Nov 25 23:22:43 2005
@@ -40,7 +40,7 @@
                 />
             <item
                 name="Source Repository"
-                href="http://svn.apache.org/viewcvs.cgi/struts/core/trunk/?root=Apache-SVN"
+                href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/?root=Apache-SVN"
                 />
             <item
                 name="Apache Struts Home"

Propchange: struts/action/trunk/xdocs/navigation.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: struts/action/trunk/xdocs/roadmap.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/roadmap.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/roadmap.xml (original)
+++ struts/action/trunk/xdocs/roadmap.xml Fri Nov 25 23:22:43 2005
@@ -87,9 +87,9 @@
         Through version 1.2.x, the project's codebase was bundled as a single
         distribution with a single release cycle.
         Post version 1.2.x, the project's codebase is separated into several
-        subprojects, each with it's own distribution and release cycle.
+        subprojects, each with its own distribution and release cycle.
         The core controller classes are now available as Struts Action 
-        Framework. The taglibs classes are now available and Struts Taglib, 
+        Framework. The taglibs classes are now available as Struts Taglib, 
         and so forth.
     </p>
 

Modified: struts/action/trunk/xdocs/userGuide/building_controller.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/building_controller.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/userGuide/building_controller.xml (original)
+++ struts/action/trunk/xdocs/userGuide/building_controller.xml Fri Nov 25 23:22:43 2005
@@ -1595,7 +1595,7 @@
     action element, see the
     <a href="http://struts.apache.org/dtds/struts-config_1_3.dtd">
     configuration DTD</a> and the
-    <a href="../struts-core/apidocs/org/apache/struts/action/ActionMapping.html">
+    <a href="../struts-action/apidocs/org/apache/struts/action/ActionMapping.html">
     ActionMapping documentation</a>.
     </p>
 

Modified: struts/action/trunk/xdocs/userGuide/building_view.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/building_view.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/userGuide/building_view.xml (original)
+++ struts/action/trunk/xdocs/userGuide/building_view.xml Fri Nov 25 23:22:43 2005
@@ -119,7 +119,7 @@
         </li>
         
         <li>
-        <a href="../struts-core/apidocs/org/apache/struts/util/MessageResources.html">
+        <a href="../struts-action/apidocs/org/apache/struts/util/MessageResources.html">
         <strong>MessageResources</strong></a> - The framework class 
         <code>org.apache.struts.util.MessageResources</code> lets you treat
         a set of resource bundles like a database, and allows you to request

Modified: struts/action/trunk/xdocs/userGuide/configuration.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/configuration.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/userGuide/configuration.xml (original)
+++ struts/action/trunk/xdocs/userGuide/configuration.xml Fri Nov 25 23:22:43 2005
@@ -941,7 +941,7 @@
   <p>
   Commons Logging provides fine-grained control over the logging messages
   created by a <code>Log</code> instance. By convention, the <code>Log</code>
-  instances for Struts Core (and the Commons packages in general) are named the
+  instances for the framework (and the Commons packages in general) are named the
   fully qualified class name of the class whose messages are being logged.
   Therefore, log messages created by the <code>RequestProcessor</code> class are, naturally
   enough, directed to a logger named
@@ -988,7 +988,7 @@
 
   <p>
   You can seamlessly integrate logging from your own components into the same
-  logging implementation that Struts Core and the Commons libraries use, by
+  logging implementation that the framework and the Commons libraries use, by
   following the instructions in
   <a href="building_controller.html#4_11_Commons_Logging_Interface">
   Section 4.11</a>.  If you do

Modified: struts/action/trunk/xdocs/userGuide/dev_util.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/dev_util.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/userGuide/dev_util.xml (original)
+++ struts/action/trunk/xdocs/userGuide/dev_util.xml Fri Nov 25 23:22:43 2005
@@ -36,7 +36,7 @@
 <subsection href="resources" name="Utilities Resources">
 
 <ul>
-<li><a href="../struts-core/apidocs/org/apache/struts/util/package-summary.html#package_description">Utilities Package Description</a></li>
+<li><a href="../struts-action/apidocs/org/apache/struts/util/package-summary.html#package_description">Utilities Package Description</a></li>
 </ul>
 </subsection>
 

Modified: struts/action/trunk/xdocs/userGuide/introduction.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/introduction.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/userGuide/introduction.xml (original)
+++ struts/action/trunk/xdocs/userGuide/introduction.xml Fri Nov 25 23:22:43 2005
@@ -298,14 +298,14 @@
           file (<code>struts-config.xml</code>) and uses it to deploy other control layer objects. 
           Together, these objects form the <strong>Struts Configuration</strong>. The Struts Configuration 
           defines (among other things) the 
-          <a href="../struts-core/apidocs/org/apache/struts/action/ActionMappings.html">ActionMappings</a>
+          <a href="../struts-action/apidocs/org/apache/struts/action/ActionMappings.html">ActionMappings</a>
           [<code>org.apache.struts.action.ActionMappings</code>] for an application. 
         </p>
 
         <p>
           The controller component consults the ActionMappings as it routes HTTP
           requests to other components in the framework. Requests may be forwarded to JavaServer Pages or
-          <a href="../struts-core/apidocs/org/apache/struts/action/Action.html">Action</a> 
+          <a href="../struts-action/apidocs/org/apache/struts/action/Action.html">Action</a> 
           [<code>org.apache.struts.action.Action</code>] subclasses provided by the
           Struts developer. Often, a request is first forwarded to an Action and then to a JSP 
           (or other presentation page). The mappings help the controller turn HTTP requests into application 
@@ -314,7 +314,7 @@
         
         <p>
         An individual 
-        <a href="../struts-core/apidocs/org/apache/struts/action/ActionMapping.html">ActionMapping</a>
+        <a href="../struts-action/apidocs/org/apache/struts/action/ActionMapping.html">ActionMapping</a>
         [<code>org.apache.struts.action.ActionMapping</code>] 
         will usually contain a number of properties including:</p>
         <ul>
@@ -355,7 +355,7 @@
           Web applications is retaining and validating what a user has entered between
           requests. You can define your own set of input bean classes, by
           subclassing 
-          <a href="../struts-core/apidocs/org/apache/struts/action/ActionForm.html">ActionForm</a>
+          <a href="../struts-action/apidocs/org/apache/struts/action/ActionForm.html">ActionForm</a>
           [<code>org.apache.struts.action.ActionForm</code>]. The ActionForm class makes it
           easy to store <strong>and validate</strong> the data for your application's input forms. 
           The ActionForm bean is automatically saved in one of the standard, shared context 
@@ -372,10 +372,10 @@
         
         <p>
           Another element of the Struts Configuration are the 
-          <a href="../struts-core/apidocs/org/apache/struts/action/ActionFormBeans.html">ActionFormBeans</a>
+          <a href="../struts-action/apidocs/org/apache/struts/action/ActionFormBeans.html">ActionFormBeans</a>
           [<code>org.apache.struts.action.ActionFormBeans</code>].
           This is a collection of 
-          <a href="../struts-core/apidocs/org/apache/struts/action/ActionFormBean.html">descriptor objects</a>
+          <a href="../struts-action/apidocs/org/apache/struts/action/ActionFormBean.html">descriptor objects</a>
           that are used to create instances of the ActionForm objects at runtime. 
           When a mapping needs an ActionForm, the servlet looks up the form-bean descriptor by name and uses 
           it to create an ActionForm instance of the specified type.
@@ -412,7 +412,7 @@
           The framework and Struts Taglib were designed from the ground-up
           to support the internationalization features built into the Java platform. All the field labels
           and messages can be retrieved from a 
-          <a href="../struts-core/apidocs/org/apache/struts/util/MessageResources.html">message resource</a>.
+          <a href="../struts-action/apidocs/org/apache/struts/util/MessageResources.html">message resource</a>.
           To provide messages for another language, simply add another file to the resource bundle.
         </p>
         

Modified: struts/action/trunk/xdocs/userGuide/navigation.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/navigation.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/userGuide/navigation.xml (original)
+++ struts/action/trunk/xdocs/userGuide/navigation.xml Fri Nov 25 23:22:43 2005
@@ -53,7 +53,7 @@
             href="apidocs/index.html"/>
        <item
             name="Source Repository"
-            href="http://svn.apache.org/viewcvs.cgi/struts/core/trunk/?root=Apache-SVN"/>
+            href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/?root=Apache-SVN"/>
         <item 
             name="Struts Action Framework Home"                 
             href="index.html"/>

Modified: struts/action/trunk/xdocs/userGuide/release-notes.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/release-notes.xml?rev=349095&r1=349094&r2=349095&view=diff
==============================================================================
--- struts/action/trunk/xdocs/userGuide/release-notes.xml (original)
+++ struts/action/trunk/xdocs/userGuide/release-notes.xml Fri Nov 25 23:22:43 2005
@@ -1,431 +1,431 @@
-<?xml version="1.0"?>
-<!--
-Copyright 1999-2005 The Apache Software Foundation
-Licensed 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.
--->
-<!--
-// ======================================================================== 78
--->
-<document>
-
-  <properties>
-    <title>Release Notes (since 1.2.8)</title>
-  </properties>
- <body>
- <section name="6.1 Release Notes - Version 1.3.0-dev">
- <a name="release_notes"/>
-      <subsection name="Introduction">
-          <p>
-              This section contains release notes for changes that have taken
-              place to Struts Classic since
-              <a href="release-notes-1.2.7.html">Version 1.2.7</a>.
-              To keep up-to-date on all changes to Struts, subscribe to the
-              (commits at struts.apache.org) list.
-              To preview our plans for upcoming changes,
-              please visit the <a href="http://struts.apache.org/roadmap.html">Roadmap page</a>.
-          </p>
-          <p>
-              <b>Notes on upgrading</b> are maintained in the
-              <a href="http://wiki.apache.org/struts/StrutsUpgrade">Wiki Upgrade pages</a>.
-              The wiki is a community maintained resource - please feel free to add your
-              input so that everyone can benefit from the collective experience.
-          </p>
-          <p>
-             For the version requirements of each library, see the 
-             <a href="installation.html">Installation chapter</a>.
-          </p>
- 
-      </subsection>
-
-      <a name="Highlight"/>
-      <subsection name="Highlights of Changes">
-          <p>
-              The purpose of this section is to highlight the new features since the
-              Version 1.2.7 release.
-              For more detail, see the Project Info reports for each subproject,
-              which include a complete changelog and list of external dependencies.
-         </p>
-         <p>
-              You can also access to the Struts source repository and change logs directly through both
-              <a href="http://svn.apache.org/viewcvs.cgi/struts/core/trunk/?root=Apache-SVN">web browser</a>
-              and <a href="http://www.apache.org/dev/version-control.html"> Subversion client</a> interfaces.
-         </p>
-
-          <h3>People</h3>
-
-          <p>
-              On the <a href="../volunteers.html">volunteer</a> front, two new committers,
-              <i>Wendy Smoak</i> and <i>Gary VanMatre</i>, accepted invitations
-              to join us.
-          </p>
-
-          <h3>Struts Action Library</h3>
-
-          <p>
-              Since Struts 1.2.7, we have subdivided Struts into several subprojects,
-              each with its own release cycle.
-              The set of seven subprojects derived from Struts 1.2 is sometimes referred to as "Struts Classic".
-              The Struts Classic subprojects are Action, Applications, EL, Extras, Site, Taglibs, and Tiles.
-              These subprojects will all inherit version 1.3.0, but, thereafter, 
-              subproject revisions will increment independently of each other.
-          </p>
-
-          <p>
-              Since many teams will use Struts Action Framework with one or more extensions,
-              we are bundling the jars for extensions that utilize the framework into a single distribution
-              called "Struts Action Library".
-          </p>
-
-          <p>
-              The Struts subprojects, including the website, are being built with Maven.
-              But, of course, you can continue to build your own projects any way you like!)
-          </p>
-
-          <h3>Struts Applications</h3>
-
-          <p>
-              The applications have been moved into their own subproject,
-              the builds have been "Mavenized",
-               but the set of example applications is essentially unchanged.
-          </p>
-
-          <ul>
-              <li>
-                  In MailReader, fix invalid password limit error.
-              </li>
-          </ul>
-
-          <h3>Struts Action Framework</h3>
-
-          <p>
-              Major changes to the framework include
-          </p>
-
-          <ul>
-              <li>
-                  Composable Request Processor
-              </li>
-              <li>
-                  Arbitrary configuration properties
-              </li>
-              <li>
-                  Catalog and Command Elements
-              </li>
-              <li>
-                  Enhanced Global Exception Handlers
-              </li>
-              <li>
-                  Extends attribute
-              </li>
-              <li>
-                  "isCommitted" Exception Handling
-              </li>
-              <li>
-                  Postback Actions
-              </li>
-              <li>
-                  Wildcard ActionConfig properties
-              </li>
-          </ul>
-
-          <h4>Composable Request Processor</h4>
-          <p>
-              In prior versions, the request processing guantlet is represented as a series
-              of methods.
-              While it was easy to override the methods to provide different functionality,
-              it was not easy to use multiple extension that each wanted to override
-              the request processor in a different way.
-          </p>
-          <source>
-public void process(HttpServletRequest request,
-                    HttpServletResponse response)
-	throws IOException, ServletException {
-
-	processLocale(request, response);
-	if (!processRoles(request, response, mapping)) {
-           return;
-	}
-	/// ...
-	ActionForward forward =
-          processActionPerform(request, response,
-                               action, form, mapping);
-	processForwardConfig(request, response, forward);
-}          
-</source>
-          <p>
-              For Struts 1.3, we turned the request processor methods into Commands
-              that are part of a flexible Chain of Commands.
-              Rather than subclassing a monolithic object,
-              we can now just replace Commands.
-              Commands can also be inserted or removed, if needed,
-              to extend or streamline the request processing gauntlet
-              to meets the needs of different kinds of applications.
-          </p>
-<source>
-&lt;chain name="process-action">
- &lt;command className= "...SelectLocale"/>
- &lt;command className= "...AuthorizeAction"/>
-&lt;!-- ... -->
- &lt;command className= "...CreateAction"/>
- &lt;command className= "...ExecuteAction"/>
-&lt;/chain>
-</source>
-          <p>
-              We fully expect the Struts 1.3 request processor to be backwardly
-              compatible with earlier versions.
-              But, to be prudent, we wanted to release 1.3 with the Composable
-              Request Processor before making additional changes.
-          </p>
-          <p>
-              We've made a few other changes and improvements in Struts 1.3.x,
-              but the two big-ticket items are subprojects and the new request processor.
-          </p>
-          
-
-          <h4>Arbitrary configuration properties</h4>
-          <p>
-              Most every Struts configuration element now accepts a map of key/value pairs.
-              Arbitrary configuration properties let us externalize more of our configurations,
-              encouraging reuse.
-          </p>
-
-<source>
-&lt;action path="/EditSubscription"
-        extends="Editor">
-        <set-property key="foo" value="bar" />
-&lt;/action>
-
-public ActionForward execute( 
-       ActionMapping mapping,
-        ActionForm form,
-        HttpServletRequest request,
-        HttpServletResponse response)
-        throws Exception {
-        string foo = getProperty("foo"); 
-        // ...
-</source>
-          <p>
-              Arbitrary Configuration should make it easier for everyone
-              to write reusable chunks of code, for ActionMappings, Exception Handlers,
-              and other members.
-          </p>
-
-          <h4>Enhanced Global Exception Handlers</h4>
-          <p>
-              We now support use of global exception handlers in cases when no ActionConfig has yet been identified,
-              as in with "preprocessing" commands in a custom request processing chain.
-              In the case when there is no ActionConfig,
-              the AbstractExceptionHandler will now call a new method in ModuleConfig which
-              provides similar logic for finding a globally mapped exception handler for the given exception class
-              or any of its superclasses.
-          </p>
-          
-          
-          <h4> Catalog and Command elements</h4>          
-	  <p>
-	      Available for both the Controller and any Action Mapping
-	  </p>
-	  <p>
-              catalog - The name of a commons-chain catalog in which to look up a command 
-              to be executed as part of servicing this request. Only meaningful if "command" 
-              is also specified.
-          </p>
-          <p>
-              command - The name of a commons-chain command which should be looked up and 
-              executed as part of servicing this request.
-          </p>
-<source>
-&lt;controller 
-     inputForward="true" 
-     catalog="Foo"
-     command="FooBar"
-   />
-</source>   
-          
-          <h4>Extends attribute</h4>
-          <p>
-              In the Struts configuration file,
-              we can now use the <b>extends</b> attribute to adopt default settings from another element,
-              as we already can in the Tiles configuration files.
-         </p>
-<source>
-&lt;struts-config>
-  &lt;form-beans>
-    &lt;form-bean name="registrationForm"
-        type="org.apache.struts.action.DynaValidatorForm">
-      &lt;form-property name="firstName" type="java.lang.String" />
-      &lt;form-property name="lastName" type="java.lang.String" />
-    &lt;/form-bean>
-    
-    &lt;form-bean name="managerRegistrationForm"
-        type="org.apache.struts.action.DynaValidatorForm"
-        extends="registrationForm">
-      &lt;form-property name="department" type="java.lang.String" />
-    &lt;/form-bean>    
-  &lt;/form-beans>
-  ... 
-&lt;/struts-config>          
-</source>          
-          <p>
-              Extends makes using XML elements much more like object-orientated programming.
-              You can setup a base element, and then only specify the behavior that changes.
-              Extends lets us set default values and then "program by difference".
-              When elements are not relentlessly chanting the same things over and over,
-              it's easier to see the forest for the trees.
-          </p>
-
-          <h4>"isCommitted" Exception Handling</h4>
-          <p>
-              When using Tiles, sometimes the response is already committed when an exception occurs.
-              Now, the ExceptionHandler tests <code>response.isCommitted</code>,
-              and, if true, includes the configured view path, rather than forwarding to it.
-              The updated ExceptionHandler accepts new configuration attributes which let you
-              choose alternate behavior, or no behavior at all. See the JavaDoc for details.
-          </p>
-          
-<source>
-&lt;exception
-       key="GlobalExceptionHandler.default"
-       type="java.lang.Exception"
-       path="/ErrorPage.jsp">
-       <set-property key="INCLUDE_PATH" value="/error.jsp" />
-&lt;/exception>
-
-&lt;exception
-       key="GlobalExceptionHandler.default"
-       type="java.lang.Exception"
-       path="/ErrorPage.jsp">
-       &lt;set-property key="SILENT_IF_COMMITTED" value="true" />
-&lt;/exception>
-</source>
-
-          <h4>Postback Forms</h4>
-          <p>
-              The action attribute of the Form taglib is now optional.
-              If omitted, the original URI of the original request is used.
-          </p>
-<source>
-&lt;html:form 
-   onsubmit="return validateLogonForm(this);">
-</source>
-
-          <h4>Wildcard ActionConfig properties</h4>
-          <p>
-              Wildcards can now be used in the properties of an ActionConfig.
-              This makes it easier to pass multiple request-time values to the Action
-              without complicating the "parameter" attibute.
-          </p>
-          
-<source>
-&lt;action path="/Save*"
-        name="Save{1}"
-        extends="BaseSave">
-        &lt;set-properties key="Save" value="{1}"/>
-&lt;/action>
-</source>
-
-          <h3>Struts EL</h3>
-
-          <p>Aside from addressing deprecrations, there was one minor change to Struts EL.</p>
-          <ul>
-              <li>
-                  Remove reference to html:html's locale attr in TestELHtmlTag
-              </li>
-          </ul>
-
-          <h3>Struts Extras</h3>
-
-          <p>
-              This subproject was extracted from the Actions and Plugins packages of Struts 1.2.
-              The code itself is unchanged.
-          </p>
-
-          <h3>Struts Site</h3>
-
-          <p>
-              The new Site subproject hosts the top-layer of the Struts website,
-              and serves as a portal to the other subprojects.
-          </p>
-
-          <h3>Struts Taglibs</h3>
-
-          <p>
-              We're changed the way we generate our reference documentation for the taglibs,
-              but we think you will find the new reference just as useful as the old.
-              Otherwise, we made only minor fixes to the trusty Struts Taglibs.
-            </p>
-
-          <ul>
-              <li>
-                  Update error message for when value is null to specify the id of the bean being defined.
-              </li>
-              <li>
-                  Updated tag to filter value field to prevent it from breaking HTML if the value has reserved
-                  characters in it.
-              </li>
-              <li>
-                  Changed logic so that the "must specify only one of..." message only get's thrown if the user is
-                  specifying more than one of the available options.
-                  The code was throwing the message if the user didn't specify any at all and should be flowing
-                  down to the "no value specified" error message.
-                  Update "can contain only one of..." message to specify which bean has the error.
-              </li>
-              <li>
-                  Update FormTag to provide better debug message in the scenario where an action mapping is missing a
-                  form bean name.
-              </li>
-              <li>
-                 Update TagUtils to provide a more specific error message in the case where properties on a formbean
-                  are not found. Basically this change handles the scenario where the Constants.BEAN_KEY value was
-                  being displayed as the bean name.
-                  Now, the actualy bean name will be displayed.
-              </li>
-              <li>
-                  Changing rendering of the form name to use the 'id' attribute when in in XHTML strict mode.
-                  If an 'id' is already identified with the 'tyleId' attribute, an exception is thrown.
-             </li>
-              <li>
-                  Changed dynamic focus javascript to choose form using 'id' attribute in XHTML mode
-              </li>
-              <li>
-                  Changed the "action" attribute of the Form taglib to be optional.
-                  If omitted, the original URI of the request is used.
-              </li>
-              <li>
-                  Filter anchors out when determining action mapping name.
-              </li>
-              <li>
-                  Fix MessagesTag so that non-resource messages are possible for multiple messages,
-                  instead of just the first one.
-              </li>
-              <li>
-                  Added escape for single quotes in javascript values
-              </li>
-          </ul>
-
-          <h3>Struts Tiles</h3>
-
-          <p>
-              Tiles is being refactored into a standalone package that can be used with or without Struts.
-              For more on how this affects Tiles users, see the Tiles subproject site.
-          </p>
-
-      </subsection>
-
-     <subsection>
-       <p class="right">Next:
-       <a href="installation.html">Installation</a></p>
-     </subsection>
- </section>
-</body>
-</document>
+<?xml version="1.0"?>
+<!--
+Copyright 1999-2005 The Apache Software Foundation
+Licensed 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.
+-->
+<!--
+// ======================================================================== 78
+-->
+<document>
+
+  <properties>
+    <title>Release Notes (since 1.2.8)</title>
+  </properties>
+ <body>
+ <section name="6.1 Release Notes - Version 1.3.0-dev">
+ <a name="release_notes"/>
+      <subsection name="Introduction">
+          <p>
+              This section contains release notes for changes that have taken
+              place to Struts Classic since
+              <a href="release-notes-1.2.7.html">Version 1.2.7</a>.
+              To keep up-to-date on all changes to Struts, subscribe to the
+              (commits at struts.apache.org) list.
+              To preview our plans for upcoming changes,
+              please visit the <a href="http://struts.apache.org/roadmap.html">Roadmap page</a>.
+          </p>
+          <p>
+              <b>Notes on upgrading</b> are maintained in the
+              <a href="http://wiki.apache.org/struts/StrutsUpgrade">Wiki Upgrade pages</a>.
+              The wiki is a community maintained resource - please feel free to add your
+              input so that everyone can benefit from the collective experience.
+          </p>
+          <p>
+             For the version requirements of each library, see the 
+             <a href="installation.html">Installation chapter</a>.
+          </p>
+ 
+      </subsection>
+
+      <a name="Highlight"/>
+      <subsection name="Highlights of Changes">
+          <p>
+              The purpose of this section is to highlight the new features since the
+              Version 1.2.7 release.
+              For more detail, see the Project Info reports for each subproject,
+              which include a complete changelog and list of external dependencies.
+         </p>
+         <p>
+              You can also access to the Struts source repository and change logs directly through both
+              <a href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/?root=Apache-SVN">web browser</a>
+              and <a href="http://www.apache.org/dev/version-control.html"> Subversion client</a> interfaces.
+         </p>
+
+          <h3>People</h3>
+
+          <p>
+              On the <a href="../volunteers.html">volunteer</a> front, two new committers,
+              <i>Wendy Smoak</i> and <i>Gary VanMatre</i>, accepted invitations
+              to join us.
+          </p>
+
+          <h3>Struts Action Library</h3>
+
+          <p>
+              Since Struts 1.2.7, we have subdivided Struts into several subprojects,
+              each with its own release cycle.
+              The set of seven subprojects derived from Struts 1.2 is sometimes referred to as "Struts Classic".
+              The Struts Classic subprojects are Action, Applications, EL, Extras, Site, Taglibs, and Tiles.
+              These subprojects will all inherit version 1.3.0, but, thereafter, 
+              subproject revisions will increment independently of each other.
+          </p>
+
+          <p>
+              Since many teams will use Struts Action Framework with one or more extensions,
+              we are bundling the jars for extensions that utilize the framework into a single distribution
+              called "Struts Action Library".
+          </p>
+
+          <p>
+              The Struts subprojects, including the website, are being built with Maven.
+              But, of course, you can continue to build your own projects any way you like!)
+          </p>
+
+          <h3>Struts Applications</h3>
+
+          <p>
+              The applications have been moved into their own subproject,
+              the builds have been "Mavenized",
+               but the set of example applications is essentially unchanged.
+          </p>
+
+          <ul>
+              <li>
+                  In MailReader, fix invalid password limit error.
+              </li>
+          </ul>
+
+          <h3>Struts Action Framework</h3>
+
+          <p>
+              Major changes to the framework include
+          </p>
+
+          <ul>
+              <li>
+                  Composable Request Processor
+              </li>
+              <li>
+                  Arbitrary configuration properties
+              </li>
+              <li>
+                  Catalog and Command Elements
+              </li>
+              <li>
+                  Enhanced Global Exception Handlers
+              </li>
+              <li>
+                  Extends attribute
+              </li>
+              <li>
+                  "isCommitted" Exception Handling
+              </li>
+              <li>
+                  Postback Actions
+              </li>
+              <li>
+                  Wildcard ActionConfig properties
+              </li>
+          </ul>
+
+          <h4>Composable Request Processor</h4>
+          <p>
+              In prior versions, the request processing guantlet is represented as a series
+              of methods.
+              While it was easy to override the methods to provide different functionality,
+              it was not easy to use multiple extension that each wanted to override
+              the request processor in a different way.
+          </p>
+          <source>
+public void process(HttpServletRequest request,
+                    HttpServletResponse response)
+	throws IOException, ServletException {
+
+	processLocale(request, response);
+	if (!processRoles(request, response, mapping)) {
+           return;
+	}
+	/// ...
+	ActionForward forward =
+          processActionPerform(request, response,
+                               action, form, mapping);
+	processForwardConfig(request, response, forward);
+}          
+</source>
+          <p>
+              For Struts 1.3, we turned the request processor methods into Commands
+              that are part of a flexible Chain of Commands.
+              Rather than subclassing a monolithic object,
+              we can now just replace Commands.
+              Commands can also be inserted or removed, if needed,
+              to extend or streamline the request processing gauntlet
+              to meets the needs of different kinds of applications.
+          </p>
+<source>
+&lt;chain name="process-action">
+ &lt;command className= "...SelectLocale"/>
+ &lt;command className= "...AuthorizeAction"/>
+&lt;!-- ... -->
+ &lt;command className= "...CreateAction"/>
+ &lt;command className= "...ExecuteAction"/>
+&lt;/chain>
+</source>
+          <p>
+              We fully expect the Struts 1.3 request processor to be backwardly
+              compatible with earlier versions.
+              But, to be prudent, we wanted to release 1.3 with the Composable
+              Request Processor before making additional changes.
+          </p>
+          <p>
+              We've made a few other changes and improvements in Struts 1.3.x,
+              but the two big-ticket items are subprojects and the new request processor.
+          </p>
+          
+
+          <h4>Arbitrary configuration properties</h4>
+          <p>
+              Most every Struts configuration element now accepts a map of key/value pairs.
+              Arbitrary configuration properties let us externalize more of our configurations,
+              encouraging reuse.
+          </p>
+
+<source>
+&lt;action path="/EditSubscription"
+        extends="Editor">
+        <set-property key="foo" value="bar" />
+&lt;/action>
+
+public ActionForward execute( 
+       ActionMapping mapping,
+        ActionForm form,
+        HttpServletRequest request,
+        HttpServletResponse response)
+        throws Exception {
+        string foo = getProperty("foo"); 
+        // ...
+</source>
+          <p>
+              Arbitrary Configuration should make it easier for everyone
+              to write reusable chunks of code, for ActionMappings, Exception Handlers,
+              and other members.
+          </p>
+
+          <h4>Enhanced Global Exception Handlers</h4>
+          <p>
+              We now support use of global exception handlers in cases when no ActionConfig has yet been identified,
+              as in with "preprocessing" commands in a custom request processing chain.
+              In the case when there is no ActionConfig,
+              the AbstractExceptionHandler will now call a new method in ModuleConfig which
+              provides similar logic for finding a globally mapped exception handler for the given exception class
+              or any of its superclasses.
+          </p>
+          
+          
+          <h4> Catalog and Command elements</h4>          
+	  <p>
+	      Available for both the Controller and any Action Mapping
+	  </p>
+	  <p>
+              catalog - The name of a commons-chain catalog in which to look up a command 
+              to be executed as part of servicing this request. Only meaningful if "command" 
+              is also specified.
+          </p>
+          <p>
+              command - The name of a commons-chain command which should be looked up and 
+              executed as part of servicing this request.
+          </p>
+<source>
+&lt;controller 
+     inputForward="true" 
+     catalog="Foo"
+     command="FooBar"
+   />
+</source>   
+          
+          <h4>Extends attribute</h4>
+          <p>
+              In the Struts configuration file,
+              we can now use the <b>extends</b> attribute to adopt default settings from another element,
+              as we already can in the Tiles configuration files.
+         </p>
+<source>
+&lt;struts-config>
+  &lt;form-beans>
+    &lt;form-bean name="registrationForm"
+        type="org.apache.struts.action.DynaValidatorForm">
+      &lt;form-property name="firstName" type="java.lang.String" />
+      &lt;form-property name="lastName" type="java.lang.String" />
+    &lt;/form-bean>
+    
+    &lt;form-bean name="managerRegistrationForm"
+        type="org.apache.struts.action.DynaValidatorForm"
+        extends="registrationForm">
+      &lt;form-property name="department" type="java.lang.String" />
+    &lt;/form-bean>    
+  &lt;/form-beans>
+  ... 
+&lt;/struts-config>          
+</source>          
+          <p>
+              Extends makes using XML elements much more like object-orientated programming.
+              You can setup a base element, and then only specify the behavior that changes.
+              Extends lets us set default values and then "program by difference".
+              When elements are not relentlessly chanting the same things over and over,
+              it's easier to see the forest for the trees.
+          </p>
+
+          <h4>"isCommitted" Exception Handling</h4>
+          <p>
+              When using Tiles, sometimes the response is already committed when an exception occurs.
+              Now, the ExceptionHandler tests <code>response.isCommitted</code>,
+              and, if true, includes the configured view path, rather than forwarding to it.
+              The updated ExceptionHandler accepts new configuration attributes which let you
+              choose alternate behavior, or no behavior at all. See the JavaDoc for details.
+          </p>
+          
+<source>
+&lt;exception
+       key="GlobalExceptionHandler.default"
+       type="java.lang.Exception"
+       path="/ErrorPage.jsp">
+       <set-property key="INCLUDE_PATH" value="/error.jsp" />
+&lt;/exception>
+
+&lt;exception
+       key="GlobalExceptionHandler.default"
+       type="java.lang.Exception"
+       path="/ErrorPage.jsp">
+       &lt;set-property key="SILENT_IF_COMMITTED" value="true" />
+&lt;/exception>
+</source>
+
+          <h4>Postback Forms</h4>
+          <p>
+              The action attribute of the Form taglib is now optional.
+              If omitted, the original URI of the original request is used.
+          </p>
+<source>
+&lt;html:form 
+   onsubmit="return validateLogonForm(this);">
+</source>
+
+          <h4>Wildcard ActionConfig properties</h4>
+          <p>
+              Wildcards can now be used in the properties of an ActionConfig.
+              This makes it easier to pass multiple request-time values to the Action
+              without complicating the "parameter" attibute.
+          </p>
+          
+<source>
+&lt;action path="/Save*"
+        name="Save{1}"
+        extends="BaseSave">
+        &lt;set-properties key="Save" value="{1}"/>
+&lt;/action>
+</source>
+
+          <h3>Struts EL</h3>
+
+          <p>Aside from addressing deprecrations, there was one minor change to Struts EL.</p>
+          <ul>
+              <li>
+                  Remove reference to html:html's locale attr in TestELHtmlTag
+              </li>
+          </ul>
+
+          <h3>Struts Extras</h3>
+
+          <p>
+              This subproject was extracted from the Actions and Plugins packages of Struts 1.2.
+              The code itself is unchanged.
+          </p>
+
+          <h3>Struts Site</h3>
+
+          <p>
+              The new Site subproject hosts the top-layer of the Struts website,
+              and serves as a portal to the other subprojects.
+          </p>
+
+          <h3>Struts Taglibs</h3>
+
+          <p>
+              We're changed the way we generate our reference documentation for the taglibs,
+              but we think you will find the new reference just as useful as the old.
+              Otherwise, we made only minor fixes to the trusty Struts Taglibs.
+            </p>
+
+          <ul>
+              <li>
+                  Update error message for when value is null to specify the id of the bean being defined.
+              </li>
+              <li>
+                  Updated tag to filter value field to prevent it from breaking HTML if the value has reserved
+                  characters in it.
+              </li>
+              <li>
+                  Changed logic so that the "must specify only one of..." message only get's thrown if the user is
+                  specifying more than one of the available options.
+                  The code was throwing the message if the user didn't specify any at all and should be flowing
+                  down to the "no value specified" error message.
+                  Update "can contain only one of..." message to specify which bean has the error.
+              </li>
+              <li>
+                  Update FormTag to provide better debug message in the scenario where an action mapping is missing a
+                  form bean name.
+              </li>
+              <li>
+                 Update TagUtils to provide a more specific error message in the case where properties on a formbean
+                  are not found. Basically this change handles the scenario where the Constants.BEAN_KEY value was
+                  being displayed as the bean name.
+                  Now, the actualy bean name will be displayed.
+              </li>
+              <li>
+                  Changing rendering of the form name to use the 'id' attribute when in in XHTML strict mode.
+                  If an 'id' is already identified with the 'tyleId' attribute, an exception is thrown.
+             </li>
+              <li>
+                  Changed dynamic focus javascript to choose form using 'id' attribute in XHTML mode
+              </li>
+              <li>
+                  Changed the "action" attribute of the Form taglib to be optional.
+                  If omitted, the original URI of the request is used.
+              </li>
+              <li>
+                  Filter anchors out when determining action mapping name.
+              </li>
+              <li>
+                  Fix MessagesTag so that non-resource messages are possible for multiple messages,
+                  instead of just the first one.
+              </li>
+              <li>
+                  Added escape for single quotes in javascript values
+              </li>
+          </ul>
+
+          <h3>Struts Tiles</h3>
+
+          <p>
+              Tiles is being refactored into a standalone package that can be used with or without Struts.
+              For more on how this affects Tiles users, see the Tiles subproject site.
+          </p>
+
+      </subsection>
+
+     <subsection>
+       <p class="right">Next:
+       <a href="installation.html">Installation</a></p>
+     </subsection>
+ </section>
+</body>
+</document>

Propchange: struts/action/trunk/xdocs/userGuide/release-notes.xml
------------------------------------------------------------------------------
    svn:eol-style = native



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org