You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by hu...@apache.org on 2006/01/21 01:21:00 UTC

svn commit: r370938 [28/50] - in /struts: action/trunk/ action/trunk/conf/java/ action/trunk/src/java/org/apache/struts/ action/trunk/src/java/org/apache/struts/action/ action/trunk/src/java/org/apache/struts/chain/ action/trunk/src/java/org/apache/str...

Modified: struts/action/trunk/xdocs/faqs/works.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/faqs/works.xml?rev=370938&r1=370937&r2=370938&view=diff
==============================================================================
--- struts/action/trunk/xdocs/faqs/works.xml (original)
+++ struts/action/trunk/xdocs/faqs/works.xml Fri Jan 20 16:19:02 2006
@@ -18,179 +18,320 @@
 -->
 <document>
 
-<properties>
-<title>How Does It Work?</title>
-</properties>
-<body>
-<section href="faq" name="How does it work?">
-
-<subsection href="how" name="How does it work?">
-
-<p>
-    Java Servlets are designed to handle requests made by Web browsers.
-    Server pages are designed to create dynamic Web pages that can turn billboard sites into live applications.
-    Struts Action Framework uses a special Servlet as a switchboard to route requests from Web browsers to the appropriate server page.
-    This makes Web applications much easier to design, create, and maintain.
-</p>
-
-<p>
-    Here is some more detail on the mechanisms and dependencies of the framework:
-</p>
-
-<ul>
-   <li>
-      The web application that you develop has a deployment descriptor
-      (<code>WEB-INF/web.xml</code>) which you must write. This file describes
-      the configuration of your web application, including welcome pages (the
-      file that is shown in a directory when none is specified by the request),
-      mappings to servlets (path or extension name), and parameters to those
-      servlets.<br/>
-
-      In this file, you configure the framework  
-      <a href="../apidocs/org/apache/struts/action/ActionServlet.html"><code>ActionServlet</code></a>
-      as the servlet that will handle all requests for a given mapping (usually
-      the extension <code>.do</code>). This is the "switchboard" mentioned
-      above.<br/>
-
-      In this same file, you configure the <code>ActionServlet</code> to use
-      one or more configuration files for Struts itself.<br/>
-      For this text, assume we are installing the web application on the server
-      at <code>/myapp</code>, and are using the simplest possible configuration
-      from there.<br/>
-
-      If you need more details on deployment descriptors, read
-      the Servlet Specification available from Sun Microsystem's
-      <a href="http://java.sun.com">Java site</a>.<br/>
-   </li>
-   <li>
-      In the framework configuration file(s), you associate paths with
-      the controller components of your application, known as
-      <a href="../api/org/apache/struts/action/Action.html"><code>Action</code></a>
-      classes (i.e. "login" ==&gt; LoginAction class). This tells the 
-      <code>ActionServlet</code> that when the incoming request is
-      <code>http://myhost/myapp/login.do</code> it should invoke your
-      controller component <code>LoginAction</code>.<br/>
-
-      Note the extension <code>.do</code> in this URL. The extension causes
-      your container (i.e.  Tomcat) to call the <code>ActionServlet</code>,
-      which sees the word "login" as the thing you want to do. The
-      configuration is referenced, and your <code>LoginAction</code> is
-      executed.<br/>
-   </li>
-   <li>
-      For each <code>Action</code>, you also configure the framework with the names of
-      the resulting page(s) that can be shown as a result of that action. There
-      can be more than one view as the result of an action (often, there are at
-      least two: one for success, and one for failure).<br/>
-
-      Your <code>Action</code> (the controller component you write) is based on
-      these <em>logical</em> result mapping names. It reports back to the
-      <code>ActionServlet</code> using words like "success", "failure",
-      "ready", "ok", "UserError", et cetera. The framework (through the
-      configuration that you wrote) knows how to forward to the proper
-      <em>specific</em> page. This has the added advantage of reconfiguration of
-      the view layer by simply editing the XML configuration file.<br/>
-
-      At this point, the framework knows how to delegate to your controller components,
-      and what to show as a result of your controller processing. The "model"
-      part of the application is completely up to you, and is called from
-      within your controller components.
-   </li>
-   <li>
-      You may also associate a Java Bean with an action (or set of actions) in
-      the framework's configuration file. The Java Bean is used as a repository for
-      form or display data that can be communicated between the view and
-      controller layer.<br/>
-
-      These Beans are automatically made visible to your controller components
-      (like <code>LoginAction</code>) and any view page that is associated with
-      that controller. <br/>
-
-      These Beans can also be validated with the help of the framework to
-      help insure that the user is putting good data in the form. They can be
-      carried along with a session, allowing forms to span multiple pages of
-      the view, and Actions in the controller.<br/>
-
-      <strong>Note</strong>: You must be using some sort of server-side
-      technology (JSP, Velocity, XSLT) for the view layer (going <em>to</em> the
-      client) to see this data (plain HTML won't work). The framework works on the
-      server side, so the client's view has to be composed there.<br/>
-
-      The client feeds the data back through normal form submission (POST/GET)
-      methods, and the framework updates that data in the Bean before
-      calling your controller components.
-   </li>
-   <li>
-      Within your web application will be pages that represent the view your
-      users will see. These can be JSP pages, Velocity Templates,
-      XSLT pages, and so forth.
-      Sets of JSP and JSTL tags are available for the framework so that you
-      can get started right away, but any standard presentation technology
-      can be used with the framework.<br/>
-
-      Even plain HTML files can be used within your application,
-      although they will not take full advantage of all of the dynamic
-      features.<br/>
-
-      Following the example of the Struts JSP taglibs, several other
-      packages are available to make the framework easy to use with your
-      favorite presentation technology.
-      For Velocity templates, there are the
-      <a href="http://jakarta.apache.org/velocity/">Velocity</a> ViewTools
-      for Struts.
-      If you want to use XSLT in you application, you can choose between
-      <a href="http://www.openroad.ca/opencode/">stxx</a> and
-      <a href="http://it.cappuccinonet.com/strutscx/">
-      StrutsCX</a>.<br/>
-
-      These packages make the standard Struts framework elements look and
-      feel like a seamless part of the original presentation technology.
-      Struts also makes it easy to mix and match.
-      If need be, you can use JSP, Velocity templates, and XSLT all in
-      the same application!<br/>
-
-      Since Struts relies on standard Servlet technologies, you should be
-      able to use any Java presentation technology with Struts.
-   </li>
-   <li>
-      While the focus of the Struts framework is on the controller,
-      the presentation layer is a significant part of any application.
-      The Struts JSP taglibs include a number of generic and Struts-specific
-      tags to help you use dynamic data in your view. <br/>
-
-      The custom JSP tags account for a good deal of the Struts code base. It
-      is educational to note that as of version 1.1b3 the Java code for the
-      core of Struts was about 28,000 lines, and the Java code for the tag
-      libraries (including tiles) was about 41,000 lines.<br/>
-
-      These tags help you glue your view layer to the controller layer without
-      having to embed a lot of Java in the JSP. This gives the page an XML
-      look, and can be easier for web designers to deal with than a plain JSP. It
-      also helps minimize dependencies between the controller and view.<br/>
-
-      The custom tags are used to create forms (and invisibly interact with the
-      Bean mentioned previously), logically forward to other pages, and invoke
-      other actions of the web application.<br/>
-
-      There are also tags that help you with internationalization, error
-      messages, etc.<br/>
-
-      All of these abilities depend in some way on the configuration files you
-      supplied to Struts.
-   </li>
-</ul>
-<p>
-   It is important for you to remember that the mechanism described here is
-   only in effect when the <code>ActionServlet</code> is handling the
-   request.
-</p>
-<p>
-   Since this only happens when a request is submitted that causes your
-   container (i.e. Tomcat, WebSphere, etc.) to call <code>ActionServlet</code>,
-   you must be sure that any page that relies on Struts is done through a
-   request that will map to the <code>ActionServlet</code> (i.e. has a
-   <code>.do</code> extension).
-</p>
- </subsection>
-
-</section></body></document>
+    <properties>
+        <title>How Does It Work?</title>
+    </properties>
+    <body>
+        <section href="faq" name="How does it work?">
+
+            <subsection href="how" name="How does it work?">
+
+                <p>
+                    Java Servlets are designed to handle requests made by Web
+                    browsers.
+                    Server pages are designed to create dynamic Web pages that
+                    can turn billboard sites into live applications.
+                    Struts Action Framework uses a special Servlet as a
+                    switchboard to route requests from Web browsers to the
+                    appropriate server page.
+                    This makes Web applications much easier to design, create,
+                    and maintain.
+                </p>
+
+                <p>
+                    Here is some more detail on the mechanisms and
+                    dependencies of the framework:
+                </p>
+
+                <ul>
+                    <li>
+                        The web application that you develop has a deployment
+                        descriptor
+                        (
+                        <code>WEB-INF/web.xml</code>
+                        ) which you must write. This file describes
+                        the configuration of your web application, including
+                        welcome pages (the
+                        file that is shown in a directory when none is
+                        specified by the request),
+                        mappings to servlets (path or extension name), and
+                        parameters to those
+                        servlets.
+                        <br/>
+
+                        In this file, you configure the framework
+                        <a href="../apidocs/org/apache/struts/action/ActionServlet.html">
+                            <code>ActionServlet</code>
+                        </a>
+                        as the servlet that will handle all requests for a
+                        given mapping (usually
+                        the extension
+                        <code>.do</code>
+                        ). This is the "switchboard" mentioned
+                        above.
+                        <br/>
+
+                        In this same file, you configure the
+                        <code>ActionServlet</code>
+                        to use
+                        one or more configuration files for Struts itself.
+                        <br/>
+                        For this text, assume we are installing the web
+                        application on the server
+                        at
+                        <code>/myapp</code>
+                        , and are using the simplest possible configuration
+                        from there.
+                        <br/>
+
+                        If you need more details on deployment descriptors,
+                        read
+                        the Servlet Specification available from Sun
+                        Microsystem's
+                        <a href="http://java.sun.com">Java site</a>
+                        .
+                        <br/>
+                    </li>
+                    <li>
+                        In the framework configuration file(s), you associate
+                        paths with
+                        the controller components of your application, known
+                        as
+                        <a href="../api/org/apache/struts/action/Action.html">
+                            <code>Action</code>
+                        </a>
+                        classes (i.e. "login" ==&gt; LoginAction class). This
+                        tells the
+                        <code>ActionServlet</code>
+                        that when the incoming request is
+                        <code>http://myhost/myapp/login.do</code>
+                        it should invoke your
+                        controller component
+                        <code>LoginAction</code>
+                        .
+                        <br/>
+
+                        Note the extension
+                        <code>.do</code>
+                        in this URL. The extension causes
+                        your container (i.e. Tomcat) to call the
+                        <code>ActionServlet</code>
+                        ,
+                        which sees the word "login" as the thing you want to
+                        do. The
+                        configuration is referenced, and your
+                        <code>LoginAction</code>
+                        is
+                        executed.
+                        <br/>
+                    </li>
+                    <li>
+                        For each
+                        <code>Action</code>
+                        , you also configure the framework with the names of
+                        the resulting page(s) that can be shown as a result of
+                        that action. There
+                        can be more than one view as the result of an action
+                        (often, there are at
+                        least two: one for success, and one for failure).
+                        <br/>
+
+                        Your
+                        <code>Action</code>
+                        (the controller component you write) is based on
+                        these
+                        <em>logical</em>
+                        result mapping names. It reports back to the
+                        <code>ActionServlet</code>
+                        using words like "success", "failure",
+                        "ready", "ok", "UserError", et cetera. The framework
+                        (through the
+                        configuration that you wrote) knows how to forward to
+                        the proper
+                        <em>specific</em>
+                        page. This has the added advantage of reconfiguration
+                        of
+                        the view layer by simply editing the XML configuration
+                        file.
+                        <br/>
+
+                        At this point, the framework knows how to delegate to
+                        your controller components,
+                        and what to show as a result of your controller
+                        processing. The "model"
+                        part of the application is completely up to you, and
+                        is called from
+                        within your controller components.
+                    </li>
+                    <li>
+                        You may also associate a Java Bean with an action (or
+                        set of actions) in
+                        the framework's configuration file. The Java Bean is
+                        used as a repository for
+                        form or display data that can be communicated between
+                        the view and
+                        controller layer.
+                        <br/>
+
+                        These Beans are automatically made visible to your
+                        controller components
+                        (like
+                        <code>LoginAction</code>
+                        ) and any view page that is associated with
+                        that controller.
+                        <br/>
+
+                        These Beans can also be validated with the help of the
+                        framework to
+                        help insure that the user is putting good data in the
+                        form. They can be
+                        carried along with a session, allowing forms to span
+                        multiple pages of
+                        the view, and Actions in the controller.
+                        <br/>
+
+                        <strong>Note</strong>
+                        : You must be using some sort of server-side
+                        technology (JSP, Velocity, XSLT) for the view layer
+                        (going
+                        <em>to</em>
+                        the
+                        client) to see this data (plain HTML won't work). The
+                        framework works on the
+                        server side, so the client's view has to be composed
+                        there.
+                        <br/>
+
+                        The client feeds the data back through normal form
+                        submission (POST/GET)
+                        methods, and the framework updates that data in the
+                        Bean before
+                        calling your controller components.
+                    </li>
+                    <li>
+                        Within your web application will be pages that
+                        represent the view your
+                        users will see. These can be JSP pages, Velocity
+                        Templates,
+                        XSLT pages, and so forth.
+                        Sets of JSP and JSTL tags are available for the
+                        framework so that you
+                        can get started right away, but any standard
+                        presentation technology
+                        can be used with the framework.
+                        <br/>
+
+                        Even plain HTML files can be used within your
+                        application,
+                        although they will not take full advantage of all of
+                        the dynamic
+                        features.
+                        <br/>
+
+                        Following the example of the Struts JSP taglibs,
+                        several other
+                        packages are available to make the framework easy to
+                        use with your
+                        favorite presentation technology.
+                        For Velocity templates, there are the
+                        <a href="http://jakarta.apache.org/velocity/">
+                            Velocity</a>
+                        ViewTools
+                        for Struts.
+                        If you want to use XSLT in you application, you can
+                        choose between
+                        <a href="http://www.openroad.ca/opencode/">stxx</a>
+                        and
+                        <a href="http://it.cappuccinonet.com/strutscx/">
+                            StrutsCX</a>
+                        .
+                        <br/>
+
+                        These packages make the standard Struts framework
+                        elements look and
+                        feel like a seamless part of the original presentation
+                        technology.
+                        Struts also makes it easy to mix and match.
+                        If need be, you can use JSP, Velocity templates, and
+                        XSLT all in
+                        the same application!
+                        <br/>
+
+                        Since Struts relies on standard Servlet technologies,
+                        you should be
+                        able to use any Java presentation technology with
+                        Struts.
+                    </li>
+                    <li>
+                        While the focus of the Struts framework is on the
+                        controller,
+                        the presentation layer is a significant part of any
+                        application.
+                        The Struts JSP taglibs include a number of generic and
+                        Struts-specific
+                        tags to help you use dynamic data in your view.
+                        <br/>
+
+                        The custom JSP tags account for a good deal of the
+                        Struts code base. It
+                        is educational to note that as of version 1.1b3 the
+                        Java code for the
+                        core of Struts was about 28,000 lines, and the Java
+                        code for the tag
+                        libraries (including tiles) was about 41,000 lines.
+                        <br/>
+
+                        These tags help you glue your view layer to the
+                        controller layer without
+                        having to embed a lot of Java in the JSP. This gives
+                        the page an XML
+                        look, and can be easier for web designers to deal with
+                        than a plain JSP. It
+                        also helps minimize dependencies between the
+                        controller and view.
+                        <br/>
+
+                        The custom tags are used to create forms (and
+                        invisibly interact with the
+                        Bean mentioned previously), logically forward to other
+                        pages, and invoke
+                        other actions of the web application.
+                        <br/>
+
+                        There are also tags that help you with
+                        internationalization, error
+                        messages, etc.
+                        <br/>
+
+                        All of these abilities depend in some way on the
+                        configuration files you
+                        supplied to Struts.
+                    </li>
+                </ul>
+                <p>
+                    It is important for you to remember that the mechanism
+                    described here is
+                    only in effect when the
+                    <code>ActionServlet</code>
+                    is handling the
+                    request.
+                </p>
+                <p>
+                    Since this only happens when a request is submitted that
+                    causes your
+                    container (i.e. Tomcat, WebSphere, etc.) to call
+                    <code>ActionServlet</code>
+                    ,
+                    you must be sure that any page that relies on Struts is
+                    done through a
+                    request that will map to the
+                    <code>ActionServlet</code>
+                    (i.e. has a
+                    <code>.do</code>
+                    extension).
+                </p>
+            </subsection>
+
+        </section>
+    </body>
+</document>

Modified: struts/action/trunk/xdocs/index.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/index.xml?rev=370938&r1=370937&r2=370938&view=diff
==============================================================================
--- struts/action/trunk/xdocs/index.xml (original)
+++ struts/action/trunk/xdocs/index.xml Fri Jan 20 16:19:02 2006
@@ -18,97 +18,147 @@
 -->
 <document>
 
-<properties>
-    <title>Welcome</title>
-</properties>
-
-<body>
-
-<section name="Welcome to Struts Action Framework">
-<a name="Welcome"/>
-
-    <p>
-        Struts Action Framework is a flexible control layer based on
-        <a href="userGuide/preface.html">standard technologies</a> like Java
-        Servlets, JavaBeans, ResourceBundles, and XML, as well as various
-        <a href="http://jakarta.apache.org/commons/index.html">Jakarta
-        Commons</a> packages, like BeanUtils and Chain of Responsibility.
-        Struts Action Framework helps you create an extensible development 
-        environment for your application, 
-        based on published standards and proven design patterns.
-    </p>
-
-<subsection name="Action Framework in a Nutshell">
-<a name="nutshell"/>
-
-    <p>
-        The framework provides its own web <strong>Controller</strong> component and
-        integrates with other technologies to provide the Model and the View.
-        For the <strong>Model</strong>, the framework can interact
-        with standard data access technologies,
-        like <a href="http://java.sun.com/products/jdbc/">JDBC</a> and
-        <a href="http://java.sun.com/products/ejb/">EJB</a>,
-        as well as most any third-party packages,
-        like
-        <a href="http://hibernate.org/">Hibernate</a>,
-        <a href="http://ibatis.apache.org/">iBATIS</a>, or
-        <a href="http://db.apache.org/ojb/">Object Relational Bridge</a>.
-        For the <strong>View</strong>, the framework works well with
-        <a href="http://java.sun.com/products/jsp/">JavaServer Pages</a>,
-        including <a href="faqs/kickstart.html#jsf">JSTL and JSF</a>,
-        as well as
-        <a href="http://jakarta.apache.org/velocity/tools/struts/">Velocity Templates</a>,
-        <a href="http://stxx.sourceforge.net/">XSLT</a>,
-        and other presentation systems.
-    </p>
-    
-    <p>
-    	The framework's Controller acts as a bridge between the application's 
-    	Model and the web View. When a request is received, the Controller invokes 
-    	an <strong>Action</strong> class. The Action class consults with the Model 
-    	(or, preferably, a <strong>Facade</strong> representing your Model) 
-    	to examine or update the application's state.
-    	The framework provides an <strong>ActionForm</strong> class to help transfer 
-    	data between Model and View.     	
-    </p>
-    
-    <p>
-    	Most often, the Model is represented as a set of <strong>JavaBeans</strong>. 
-    	Typically, developers will use the Commons <strong>BeanUtils</strong> to 
-    	transfer data between ActionForms and the Model objects (or a Facade). 
-    	Preferably, the Model will do the "heavy lifting", 
-    	and the Action will act as a "traffic cop" or adapter.
-    </p>
-</subsection>
-
-<subsection name="Struts Config in a Nutshell">
-<a name="nutshell-config"/>
-
-    <p>
-        A
-        <a href="http://java.sun.com/webservices/docs/1.0/tutorial/doc/WebApp.html">
-        web application</a> uses a deployment descriptor to initialize resources
-        like <a href="userGuide/preface.html#servlets">servlets</a>
-        and <a href="userGuide/preface.html#jsp">taglibs</a>.
-        The deployment descriptor is formatted as a
-        <a href="userGuide/preface.html#xml">XML</a> document
-        and named "web.xml".
-        Likewise,
-        the framework uses a configuration file to initialize its own resources.
-        These resources include
-        <a href="userGuide/building_controller.html#action_form_classes">
-        ActionForms</a> to collect input from users,
-        <a href="http://struts.apache.org/userGuide/building_controller.html#actionmapping">
-        ActionMappings</a> to direct input to server-side
-        <a href="http://struts.apache.org/userGuide/building_controller.html#action_classes">Actions</a>,
-        and ActionForwards to select output pages.
-    </p>
-
-    <p>
-        Here's a simple configuration (struts-config.xml) for a login workflow:
-    </p>
+    <properties>
+        <title>Welcome</title>
+    </properties>
+
+    <body>
+
+        <section name="Welcome to Struts Action Framework">
+            <a name="Welcome"/>
+
+            <p>
+                Struts Action Framework is a flexible control layer based on
+                <a href="userGuide/preface.html">standard technologies</a>
+                like Java
+                Servlets, JavaBeans, ResourceBundles, and XML, as well as
+                various
+                <a href="http://jakarta.apache.org/commons/index.html">Jakarta
+                    Commons</a>
+                packages, like BeanUtils and Chain of Responsibility.
+                Struts Action Framework helps you create an extensible
+                development
+                environment for your application,
+                based on published standards and proven design patterns.
+            </p>
+
+            <subsection name="Action Framework in a Nutshell">
+                <a name="nutshell"/>
+
+                <p>
+                    The framework provides its own web
+                    <strong>Controller</strong>
+                    component and
+                    integrates with other technologies to provide the Model
+                    and the View.
+                    For the
+                    <strong>Model</strong>
+                    , the framework can interact
+                    with standard data access technologies,
+                    like
+                    <a href="http://java.sun.com/products/jdbc/">JDBC</a>
+                    and
+                    <a href="http://java.sun.com/products/ejb/">EJB</a>
+                    ,
+                    as well as most any third-party packages,
+                    like
+                    <a href="http://hibernate.org/">Hibernate</a>
+                    ,
+                    <a href="http://ibatis.apache.org/">iBATIS</a>
+                    , or
+                    <a href="http://db.apache.org/ojb/">Object Relational
+                        Bridge</a>
+                    .
+                    For the
+                    <strong>View</strong>
+                    , the framework works well with
+                    <a href="http://java.sun.com/products/jsp/">JavaServer
+                        Pages</a>
+                    ,
+                    including
+                    <a href="faqs/kickstart.html#jsf">JSTL and JSF</a>
+                    ,
+                    as well as
+                    <a href="http://jakarta.apache.org/velocity/tools/struts/">
+                        Velocity Templates</a>
+                    ,
+                    <a href="http://stxx.sourceforge.net/">XSLT</a>
+                    ,
+                    and other presentation systems.
+                </p>
+
+                <p>
+                    The framework's Controller acts as a bridge between the
+                    application's
+                    Model and the web View. When a request is received, the
+                    Controller invokes
+                    an
+                    <strong>Action</strong>
+                    class. The Action class consults with the Model
+                    (or, preferably, a
+                    <strong>Facade</strong>
+                    representing your Model)
+                    to examine or update the application's state.
+                    The framework provides an
+                    <strong>ActionForm</strong>
+                    class to help transfer
+                    data between Model and View.
+                </p>
+
+                <p>
+                    Most often, the Model is represented as a set of
+                    <strong>JavaBeans</strong>
+                    .
+                    Typically, developers will use the Commons
+                    <strong>BeanUtils</strong>
+                    to
+                    transfer data between ActionForms and the Model objects
+                    (or a Facade).
+                    Preferably, the Model will do the "heavy lifting",
+                    and the Action will act as a "traffic cop" or adapter.
+                </p>
+            </subsection>
+
+            <subsection name="Struts Config in a Nutshell">
+                <a name="nutshell-config"/>
+
+                <p>
+                    A
+                    <a href="http://java.sun.com/webservices/docs/1.0/tutorial/doc/WebApp.html">
+                        web application</a>
+                    uses a deployment descriptor to initialize resources
+                    like
+                    <a href="userGuide/preface.html#servlets">servlets</a>
+                    and
+                    <a href="userGuide/preface.html#jsp">taglibs</a>
+                    .
+                    The deployment descriptor is formatted as a
+                    <a href="userGuide/preface.html#xml">XML</a>
+                    document
+                    and named "web.xml".
+                    Likewise,
+                    the framework uses a configuration file to initialize its
+                    own resources.
+                    These resources include
+                    <a href="userGuide/building_controller.html#action_form_classes">
+                        ActionForms</a>
+                    to collect input from users,
+                    <a href="http://struts.apache.org/userGuide/building_controller.html#actionmapping">
+                        ActionMappings</a>
+                    to direct input to server-side
+                    <a href="http://struts.apache.org/userGuide/building_controller.html#action_classes">
+                        Actions</a>
+                    ,
+                    and ActionForwards to select output pages.
+                </p>
+
+                <p>
+                    Here's a simple configuration (struts-config.xml) for a
+                    login workflow:
+                </p>
 
-    <pre><code><![CDATA[
+                <pre>
+                    <code><![CDATA[
     <?xml version="1.0" encoding="ISO-8859-1" ?>
     <!DOCTYPE struts-config PUBLIC
           "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
@@ -150,65 +200,93 @@
         </action-mappings>
         <message-resources parameter="resources.application"/>
     </struts-config>
-    ]]></code></pre>
+    ]]></code>
+                </pre>
 
-    <p>
-        There are several other resources you can specify in the framework's 
-        configuration file.
-        You can specify validations for the ActionForms in an XML descriptor,
-        using the <a href="userGuide/dev_validator.html">Struts Validator</a>.
-        A standard extension, <a href="userGuide/dev_tiles.html">Tiles</a>,
-        helps you build pages from smaller fragments.
-        </p>
-
-    <p>
-        Struts Action Framework is extensible.
-        Every class deployed by the framework can be replaced by your own default class.
-        The properties of your default class can be set using the
-        <a href="http://jakarta.apache.org/commons/digester/"> Digester's</a>
-        <code>set-property</code> feature.
-        This is one reason why there are so many
-        <a href="http://wiki.apache.org/struts/StrutsResources/">contributor
-        extensions</a>.
-        We provide the base framework, but you can still write <b>your</b>
-        application <b>your</b> way.
-     </p>
-
-    <p>
-        For more about the framework and its underlying technologies, see the
-        <a href="userGuide/index.html">User Guide</a>.
-    </p>
-
-</subsection>
-
- <subsection name="Is Struts Action Framework the best choice for every project?">
-
-    <p>
-        No. If you need to write a very simple application, with a handful of
-        pages,
-        then you might consider a "Model 1" solution that uses only server
-        pages.
-    </p>
-
-    <p>
-        But, if you are writing a more complicated application,
-        with dozens of pages,
-        that need to be maintained over time, then Struts Action Framework can help.
-        For more about whether Model 1 or MVC/Model 2 is right for you, see
-        <a href="http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html">
-        Understanding JavaServer Pages Model 2 architecture</a> and
-        <a href="http://www.scioworks.net/devnews/articles/struts_adoption_issues/index.html">
-        Issues in Struts Adoption</a>.
-     </p>
-
-</subsection>
-</section>
-
-<section>
-   <p class="right">
-   Next: <a href="learning.html">Learning about Struts Action Framework</a>
-   </p>
-</section>
+                <p>
+                    There are several other resources you can specify in the
+                    framework's
+                    configuration file.
+                    You can specify validations for the ActionForms in an XML
+                    descriptor,
+                    using the
+                    <a href="userGuide/dev_validator.html">Struts
+                        Validator</a>
+                    .
+                    A standard extension,
+                    <a href="userGuide/dev_tiles.html">Tiles</a>
+                    ,
+                    helps you build pages from smaller fragments.
+                </p>
+
+                <p>
+                    Struts Action Framework is extensible.
+                    Every class deployed by the framework can be replaced by
+                    your own default class.
+                    The properties of your default class can be set using the
+                    <a href="http://jakarta.apache.org/commons/digester/">
+                        Digester's</a>
+                    <code>set-property</code>
+                    feature.
+                    This is one reason why there are so many
+                    <a href="http://wiki.apache.org/struts/StrutsResources/">
+                        contributor
+                        extensions</a>
+                    .
+                    We provide the base framework, but you can still write
+                    <b>your</b>
+                    application
+                    <b>your</b>
+                    way.
+                </p>
+
+                <p>
+                    For more about the framework and its underlying
+                    technologies, see the
+                    <a href="userGuide/index.html">User Guide</a>
+                    .
+                </p>
+
+            </subsection>
+
+            <subsection
+                    name="Is Struts Action Framework the best choice for every project?">
+
+                <p>
+                    No. If you need to write a very simple application, with a
+                    handful of
+                    pages,
+                    then you might consider a "Model 1" solution that uses
+                    only server
+                    pages.
+                </p>
+
+                <p>
+                    But, if you are writing a more complicated application,
+                    with dozens of pages,
+                    that need to be maintained over time, then Struts Action
+                    Framework can help.
+                    For more about whether Model 1 or MVC/Model 2 is right for
+                    you, see
+                    <a href="http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html">
+                        Understanding JavaServer Pages Model 2
+                        architecture</a>
+                    and
+                    <a href="http://www.scioworks.net/devnews/articles/struts_adoption_issues/index.html">
+                        Issues in Struts Adoption</a>
+                    .
+                </p>
+
+            </subsection>
+        </section>
+
+        <section>
+            <p class="right">
+                Next:
+                <a href="learning.html">Learning about Struts Action
+                    Framework</a>
+            </p>
+        </section>
 
-</body>
+    </body>
 </document>

Modified: struts/action/trunk/xdocs/learning.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/learning.xml?rev=370938&r1=370937&r2=370938&view=diff
==============================================================================
--- struts/action/trunk/xdocs/learning.xml (original)
+++ struts/action/trunk/xdocs/learning.xml Fri Jan 20 16:19:02 2006
@@ -18,297 +18,406 @@
 -->
 <document>
 
-<properties>
-    <title>Learning</title>
-</properties>
-
-<body>
-
-<a name="Docs"/>
-<section name="Learning About Struts Action Framework">
-
-    <p>
-        The <strong>official documentation</strong> for the framework is
-        provided online and may be built locally from the source code
-        distribution.
-        To build the documentation, change to the subproject's
-        folder and run
-    </p>
-
-    <p>
-        $ maven site
-    </p>
-
-    <p>
-        Our documentation includes a <a href="userGuide/index.html">User Guide</a>,
-	<a href="./faqs/index.html">FAQs, and Howto Guides</a>, 
-	along with this top-level introduction.
-    </p>
-    
-    <p>
-    	The <a href="apidocs/index.html">Javadocs</a> 
-    	and <a href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/">source code</a> 
-    	can also be browsed.
-    </p>
-
- <a name="Versions"/>
- <subsection name="Documentation Versions">
-    <p>
-        You are invited to preview the documentation online,
-        and then install the documentation bundle locally for closer study.
-    </p>
-
-    <p>
-        <strong>NOTE:</strong>
-        If you are previewing the documentation on the website,
-        most of the links in this section will refer to the
-        <strong>Nightly Build</strong>.
-        When learning about the framework,
-        <strong>be sure to refer to the documentation for the version
-        you are actually using</strong>.
-    </p>
-</subsection>
-
- <a name="userGuide"/>
- <subsection name="User Guide">
-
-    <p>
-        Our concise <a href="userGuide/index.html"><strong>
-        User Guide</strong></a>
-        introduces the Model-View-Controller architecture,
-        and how it relates to the major components of the framework.
-        If you want to find out "How it works", this is the place to start.
-        Along with an architectural overview,
-        the User Guide also includes detailed installation instructions
-        and release notes for each version of the framework.
-    </p>
-</subsection>
-
- <a name="FAQS"/>
- <subsection name="FAQS and HOWTOs">
-
-    <p>
-        Our <strong>FAQs</strong> and <strong>HOWTOs</strong> are designed to fill in
-        any gaps left by the Javadocs or User Guide.
-    </p>
-
-    <ul>
-        <li>
-            Our <a href="faqs/kickstart.html">Kickstart FAQ</a>
-            answers the most common non-technical questions
-            people first ask about the framework.
-        </li>
-        <li>
-            Our <a href="faqs/newbie.html">Newbie FAQ</a>
-            answers the most common technical questions asked developers using 
-            the framework for the first-time.
-           
-        </li>
-    </ul>
-
-    <p>
-        The <strong>HOWTO Guides</strong> are designed to help you get started
-        with some of the optional extensions and components available
-        for the framework.
-        These include topics like using the Secure Socket Layer (SSL) protocol
-        and how to unit test your applications.
-    </p>
-
-    <p>
-        If you have any comments on the pages you see here,
-        they can be posted to the Wiki by following the link
-        on the bottom of any page.
-    </p>
-
-    <p>
-        Of course,
-        the only true documentation is the code itself.
-        If you have any questions about how the framework actually works,
-        do not hesitate to <em>use the source</em>.
-        For the complete, buildable source code,
-        see the "src" folder in your <strong>source distribution</strong>.
-    </p>
-</subsection>
-
- <a name="Javadocs"/>
- <subsection name="Javadocs">
-    <p>
-        For more detail about a specific class or package,
-        our <a href="apidocs/index.html"><strong>
-        Javadocs</strong></a> are <strong>surprisingly comprehensive and
-        carefully maintained</strong>.
-        It is <em>strongly</em> recommended that you refer to the
-        <a href="apidocs/index.html">Javadocs</a> for each class
-        as you begin to use it.
-        This will help ensure that important features and options are not
-        overlooked.
-        <em>What you don't know, can't help you.</em>
-    </p>
-</subsection>
-
-<a name="Examples"/>
-<subsection name="Struts Action Framework by Example">
-    <p>
-        To help you see how it all fits together, several example applications
-        are available that demonstrate using the framework with other
-        Apache Struts subprojects.
-    </p>
-
-    <ul>
-        <li>
-            Blank - A simple template for starting new applications.
-        </li>
-         <li>
-            Cookbook - See various techniques in action and view the source code in place. 
-        </li>
-        <li>
-            Examples - Various demonstration applications combined as separate
-            modules:
-            <ul>
-                <li>
-                    Exercise - A set of test pages that also demonstrate
-                    use of the custom tags.
-                </li>
-                <li>
-                    Upload - Demonstrates using the file upload facilities.
-                    (Based on Commons Upload.)
-                </li>
-                <li>
-                   Validator - Demonstrates using the Validator extension.
-                </li>
-            </ul>
-        </li>
-        <li>
-            <a href="http://opensource2.atlassian.com/confluence/oss/display/STRUTS/MailReader">
-            MailReader</a> - The original Struts example
-            application. <em>Try me first!</em>
-        </li>
-   </ul>
-
-    <p>
-        These applications are available for
-        <a href="http://struts.apache.org/downloads.html">download</a> from
-        the Struts Applications subproject, in both source and binary form.
-    </p>
-
-    <p>
-        There are also many third-party example applications available
-        for study, including these three:
-    </p>
-
-    <ul>
-        <li>
-            <a href="http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse">
-             AppFuse</a> - Demonstrates using XDoclet with Struts Classic,
-            along with different security packages and Hibernate for
-            database persistence.
-        </li>
-        <li>
-            <a href="http://ibatis.apache.org/petstore.html">JPetStore</a> -
-            A streamlined version of the Java Petstore application
-            implemented with Struts Classic and iBATIS database layer.
-        </li>
-        <li>
-           <a href="http://www.codeczar.com/products/logweb/index.html">
-           LogWeb</a> - A Struts Classic webapp for configuring
-           Log4J at runtime within a servlet container.
-        </li>
-    </ul>
-
-</subsection>
-
-<a name="More"/>
-<subsection name="Learning More About Struts Action Framework">
-    <p>
-        The Struts <a href="http://struts.apache.org/mail.html">Mailing Lists</a>
-        are a treasure trove of useful, interactive information.
-        The user list tends to carry a high volume,
-        so always check the published documentation and one of the
-        <a href="http://struts.apache.org/mail.html#Archives">
-        <strong>MAILING LIST ARCHIVES</strong></a> before
-        <a href="http://www.catb.org/~esr/faqs/smart-questions.html">posting a
-        new question</a>.
-        Like as not, it's already been asked and answered.
-    </p>
-
-    <p>
-        If you really can't find the answer to your question in the
-        <a href="#faqs">FAQs</a> or one of the
-        <a href="http://struts.apache.org/mail.html#Archives">
-        list archives</a>, you can post your query to the Struts User list --
-        <strong>BUT YOU MUST SUBSCRIBE TO THE
-        <a href="mailto:user-subscribe@struts.apache.org">USER LIST</a>
-        OR THE <a href="mailto:user-digest-subscribe@struts.apache.org">
-        USER LIST DIGEST</a> BEFORE POSTING</strong>. </p>
-
-    <p>
-        The Apache Struts <a href="http://wiki.apache.org/struts"><strong>
-        Wiki</strong></a> is a relatively new addition to our
-        documentation team.
-        Any Struts user (that means you!) is invited to post new material to
-        the Wiki.
-        However, the Wiki is not the place to ask incidental questions.
-        <strong>All support questions should be directed to the
-        <a href="http://struts.apache.org/mail.html">Struts User list</a> or
-        other support forum</strong>.
-    </p>
-
-    <p>
-        The <a href="roadmap.html"><strong>Roadmap</strong></a> page outlines
-        our tentative plans for future development.
-    </p>
-</subsection>
-
-<a name="resources"/>
-<subsection name="Struts Community Resources">
-    <p>
-        Apache Struts has attracted a large and robust community of developers,
-        which have created a vast number of Struts related resources.
-        Several pages on our wiki are devoted to listing
-        <a href="http://wiki.apache.org/struts/StrutsResources">Apache Struts
-            resources</a>.
-    </p>
-
-    <ul>
-        <li>
-            <a href="http://wiki.apache.org/struts/StrutsArticles">
-                articles</a>,
-        </li>
-
-    <li>
-        <a href="http://wiki.apache.org/struts/StrutsBooks">books</a>,
-    </li>
-
-        <li>
-            <a href="http://wiki.apache.org/struts/StrutsApplications">sample
-                applications</a>,
-        </li>
-
-        <li>
-            <a href="http://wiki.apache.org/struts/StrutsTraining">
-            training</a>, and more!
-        </li>
-
-    </ul>
-</subsection>
-    
-<a name="books"/>
-<subsection name="Books about Apache Struts">
-
-       <p>
-       The Apache Software Foundation does not provide printed manuals,
-       but several third-party books about Apache Struts are available.
-       A current list of books about Struts subprojects is maintained as a
-       <a href="http://wiki.apache.org/struts/StrutsBooks">wiki page</a>.
-       </p>
-</subsection>
-</section>
-
-    <section>
-        <p class="right">
-        Next: <a href="roadmap.html">Roadmap</a>
-        </p>
-    </section>
+    <properties>
+        <title>Learning</title>
+    </properties>
+
+    <body>
+
+        <a name="Docs"/>
+        <section name="Learning About Struts Action Framework">
+
+            <p>
+                The
+                <strong>official documentation</strong>
+                for the framework is
+                provided online and may be built locally from the source code
+                distribution.
+                To build the documentation, change to the subproject's
+                folder and run
+            </p>
+
+            <p>
+                $ maven site
+            </p>
+
+            <p>
+                Our documentation includes a
+                <a href="userGuide/index.html">User Guide</a>
+                ,
+                <a href="./faqs/index.html">FAQs, and Howto Guides</a>
+                ,
+                along with this top-level introduction.
+            </p>
+
+            <p>
+                The
+                <a href="apidocs/index.html">Javadocs</a>
+                and
+                <a href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/">
+                    source code</a>
+                can also be browsed.
+            </p>
+
+            <a name="Versions"/>
+            <subsection name="Documentation Versions">
+                <p>
+                    You are invited to preview the documentation online,
+                    and then install the documentation bundle locally for
+                    closer study.
+                </p>
+
+                <p>
+                    <strong>NOTE:</strong>
+                    If you are previewing the documentation on the website,
+                    most of the links in this section will refer to the
+                    <strong>Nightly Build</strong>
+                    .
+                    When learning about the framework,
+                    <strong>be sure to refer to the documentation for the
+                        version
+                        you are actually using</strong>
+                    .
+                </p>
+            </subsection>
+
+            <a name="userGuide"/>
+            <subsection name="User Guide">
+
+                <p>
+                    Our concise
+                    <a href="userGuide/index.html">
+                        <strong>
+                            User Guide</strong>
+                    </a>
+                    introduces the Model-View-Controller architecture,
+                    and how it relates to the major components of the
+                    framework.
+                    If you want to find out "How it works", this is the place
+                    to start.
+                    Along with an architectural overview,
+                    the User Guide also includes detailed installation
+                    instructions
+                    and release notes for each version of the framework.
+                </p>
+            </subsection>
+
+            <a name="FAQS"/>
+            <subsection name="FAQS and HOWTOs">
+
+                <p>
+                    Our
+                    <strong>FAQs</strong>
+                    and
+                    <strong>HOWTOs</strong>
+                    are designed to fill in
+                    any gaps left by the Javadocs or User Guide.
+                </p>
+
+                <ul>
+                    <li>
+                        Our
+                        <a href="faqs/kickstart.html">Kickstart FAQ</a>
+                        answers the most common non-technical questions
+                        people first ask about the framework.
+                    </li>
+                    <li>
+                        Our
+                        <a href="faqs/newbie.html">Newbie FAQ</a>
+                        answers the most common technical questions asked
+                        developers using
+                        the framework for the first-time.
+
+                    </li>
+                </ul>
+
+                <p>
+                    The
+                    <strong>HOWTO Guides</strong>
+                    are designed to help you get started
+                    with some of the optional extensions and components
+                    available
+                    for the framework.
+                    These include topics like using the Secure Socket Layer
+                    (SSL) protocol
+                    and how to unit test your applications.
+                </p>
+
+                <p>
+                    If you have any comments on the pages you see here,
+                    they can be posted to the Wiki by following the link
+                    on the bottom of any page.
+                </p>
+
+                <p>
+                    Of course,
+                    the only true documentation is the code itself.
+                    If you have any questions about how the framework actually
+                    works,
+                    do not hesitate to
+                    <em>use the source</em>
+                    .
+                    For the complete, buildable source code,
+                    see the "src" folder in your
+                    <strong>source distribution</strong>
+                    .
+                </p>
+            </subsection>
+
+            <a name="Javadocs"/>
+            <subsection name="Javadocs">
+                <p>
+                    For more detail about a specific class or package,
+                    our
+                    <a href="apidocs/index.html">
+                        <strong>
+                            Javadocs</strong>
+                    </a>
+                    are
+                    <strong>surprisingly comprehensive and
+                        carefully maintained</strong>
+                    .
+                    It is
+                    <em>strongly</em>
+                    recommended that you refer to the
+                    <a href="apidocs/index.html">Javadocs</a>
+                    for each class
+                    as you begin to use it.
+                    This will help ensure that important features and options
+                    are not
+                    overlooked.
+                    <em>What you don't know, can't help you.</em>
+                </p>
+            </subsection>
+
+            <a name="Examples"/>
+            <subsection name="Struts Action Framework by Example">
+                <p>
+                    To help you see how it all fits together, several example
+                    applications
+                    are available that demonstrate using the framework with
+                    other
+                    Apache Struts subprojects.
+                </p>
+
+                <ul>
+                    <li>
+                        Blank - A simple template for starting new
+                        applications.
+                    </li>
+                    <li>
+                        Cookbook - See various techniques in action and view
+                        the source code in place.
+                    </li>
+                    <li>
+                        Examples - Various demonstration applications combined
+                        as separate
+                        modules:
+                        <ul>
+                            <li>
+                                Exercise - A set of test pages that also
+                                demonstrate
+                                use of the custom tags.
+                            </li>
+                            <li>
+                                Upload - Demonstrates using the file upload
+                                facilities.
+                                (Based on Commons Upload.)
+                            </li>
+                            <li>
+                                Validator - Demonstrates using the Validator
+                                extension.
+                            </li>
+                        </ul>
+                    </li>
+                    <li>
+                        <a href="http://opensource2.atlassian.com/confluence/oss/display/STRUTS/MailReader">
+                            MailReader</a>
+                        - The original Struts example
+                        application.
+                        <em>Try me first!</em>
+                    </li>
+                </ul>
+
+                <p>
+                    These applications are available for
+                    <a href="http://struts.apache.org/downloads.html">
+                        download</a>
+                    from
+                    the Struts Applications subproject, in both source and
+                    binary form.
+                </p>
+
+                <p>
+                    There are also many third-party example applications
+                    available
+                    for study, including these three:
+                </p>
+
+                <ul>
+                    <li>
+                        <a href="http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse">
+                            AppFuse</a>
+                        - Demonstrates using XDoclet with Struts Classic,
+                        along with different security packages and Hibernate
+                        for
+                        database persistence.
+                    </li>
+                    <li>
+                        <a href="http://ibatis.apache.org/petstore.html">
+                            JPetStore</a>
+                        -
+                        A streamlined version of the Java Petstore application
+                        implemented with Struts Classic and iBATIS database
+                        layer.
+                    </li>
+                    <li>
+                        <a href="http://www.codeczar.com/products/logweb/index.html">
+                            LogWeb</a>
+                        - A Struts Classic webapp for configuring
+                        Log4J at runtime within a servlet container.
+                    </li>
+                </ul>
+
+            </subsection>
+
+            <a name="More"/>
+            <subsection name="Learning More About Struts Action Framework">
+                <p>
+                    The Struts
+                    <a href="http://struts.apache.org/mail.html">Mailing
+                        Lists</a>
+                    are a treasure trove of useful, interactive information.
+                    The user list tends to carry a high volume,
+                    so always check the published documentation and one of the
+                    <a href="http://struts.apache.org/mail.html#Archives">
+                        <strong>MAILING LIST ARCHIVES</strong>
+                    </a>
+                    before
+                    <a href="http://www.catb.org/~esr/faqs/smart-questions.html">
+                        posting a
+                        new question</a>
+                    .
+                    Like as not, it's already been asked and answered.
+                </p>
+
+                <p>
+                    If you really can't find the answer to your question in
+                    the
+                    <a href="#faqs">FAQs</a>
+                    or one of the
+                    <a href="http://struts.apache.org/mail.html#Archives">
+                        list archives</a>
+                    , you can post your query to the Struts User list --
+                    <strong>BUT YOU MUST SUBSCRIBE TO THE
+                        <a href="mailto:user-subscribe@struts.apache.org">USER
+                            LIST</a>
+                        OR THE
+                        <a href="mailto:user-digest-subscribe@struts.apache.org">
+                            USER LIST DIGEST</a>
+                        BEFORE POSTING
+                    </strong>
+                    .
+                </p>
+
+                <p>
+                    The Apache Struts
+                    <a href="http://wiki.apache.org/struts">
+                        <strong>
+                            Wiki</strong>
+                    </a>
+                    is a relatively new addition to our
+                    documentation team.
+                    Any Struts user (that means you!) is invited to post new
+                    material to
+                    the Wiki.
+                    However, the Wiki is not the place to ask incidental
+                    questions.
+                    <strong>All support questions should be directed to the
+                        <a href="http://struts.apache.org/mail.html">Struts
+                            User list</a>
+                        or
+                        other support forum
+                    </strong>
+                    .
+                </p>
+
+                <p>
+                    The
+                    <a href="roadmap.html">
+                        <strong>Roadmap</strong>
+                    </a>
+                    page outlines
+                    our tentative plans for future development.
+                </p>
+            </subsection>
+
+            <a name="resources"/>
+            <subsection name="Struts Community Resources">
+                <p>
+                    Apache Struts has attracted a large and robust community
+                    of developers,
+                    which have created a vast number of Struts related
+                    resources.
+                    Several pages on our wiki are devoted to listing
+                    <a href="http://wiki.apache.org/struts/StrutsResources">
+                        Apache Struts
+                        resources</a>
+                    .
+                </p>
+
+                <ul>
+                    <li>
+                        <a href="http://wiki.apache.org/struts/StrutsArticles">
+                            articles</a>
+                        ,
+                    </li>
+
+                    <li>
+                        <a href="http://wiki.apache.org/struts/StrutsBooks">
+                            books</a>
+                        ,
+                    </li>
+
+                    <li>
+                        <a href="http://wiki.apache.org/struts/StrutsApplications">
+                            sample
+                            applications</a>
+                        ,
+                    </li>
+
+                    <li>
+                        <a href="http://wiki.apache.org/struts/StrutsTraining">
+                            training</a>
+                        , and more!
+                    </li>
+
+                </ul>
+            </subsection>
+
+            <a name="books"/>
+            <subsection name="Books about Apache Struts">
+
+                <p>
+                    The Apache Software Foundation does not provide printed
+                    manuals,
+                    but several third-party books about Apache Struts are
+                    available.
+                    A current list of books about Struts subprojects is
+                    maintained as a
+                    <a href="http://wiki.apache.org/struts/StrutsBooks">wiki
+                        page</a>
+                    .
+                </p>
+            </subsection>
+        </section>
+
+        <section>
+            <p class="right">
+                Next:
+                <a href="roadmap.html">Roadmap</a>
+            </p>
+        </section>
 
-</body>
+    </body>
 </document>

Modified: struts/action/trunk/xdocs/milestones.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/milestones.xml?rev=370938&r1=370937&r2=370938&view=diff
==============================================================================
--- struts/action/trunk/xdocs/milestones.xml (original)
+++ struts/action/trunk/xdocs/milestones.xml Fri Jan 20 16:19:02 2006
@@ -23,14 +23,17 @@
     </properties>
     <body>
         <section name="Development Milestones">
-        <a name="milestones"/>
+            <a name="milestones"/>
             <p>
                 These are some general ideas we have about what may happen in
                 the Struts Action Framework series.
-                This is a <strong>whiteboard</strong> and everything here is
-                <strong>subject to change</strong>.
+                This is a
+                <strong>whiteboard</strong>
+                and everything here is
+                <strong>subject to change</strong>
+                .
             </p>
-            
+
             <a name="struts_1_0"/>
             <subsection name="Release 1.0.0 (complete)">
                 <p>
@@ -48,19 +51,19 @@
                 <p>
                     Continued refactorings of the Struts 1.x product series.
                 </p>
-                    <ul>
-                        <li>
-                            Removed deprecations created in the 1.0 to 1.1
-                            timeframe, and prior
-                        </li>
-                        <li>
-                            Added support for wildcard mappings.
-                        </li>
-                        <li>
-                            Other minor enhancements, improvements, and
-                            refactorings
-                        </li>
-                    </ul>
+                <ul>
+                    <li>
+                        Removed deprecations created in the 1.0 to 1.1
+                        timeframe, and prior
+                    </li>
+                    <li>
+                        Added support for wildcard mappings.
+                    </li>
+                    <li>
+                        Other minor enhancements, improvements, and
+                        refactorings
+                    </li>
+                </ul>
             </subsection>
 
             <a name="struts_1_2_6"/>
@@ -118,8 +121,9 @@
                     </li>
                     <li>
                         (Pending) Bundle subproject GA releases into
-                        Linux-style  distributions
-                        (Struts Classic 1.3.0 = (Action 1.3.x + Taglibs 1.3.x +
+                        Linux-style distributions
+                        (Struts Classic 1.3.0 = (Action 1.3.x + Taglibs 1.3.x
+                        +
                         Extras 1.3.x))
                     </li>
                 </ul>
@@ -128,20 +132,28 @@
                 </p>
                 <ul>
                     <li>
-                        ActionCommand - A <i>Commons Chain</i>
-                        Command<i>-like</i> interface with one method:
+                        ActionCommand - A
+                        <i>Commons Chain</i>
+                        Command
+                        <i>-like</i>
+                        interface with one method:
                         <code>void Execute(ActionContext context)</code>
                     </li>
                     <li>
-                        ActionContext - A <i>Commons Chain Context</i> that
+                        ActionContext - A
+                        <i>Commons Chain Context</i>
+                        that
                         implements the Action class logical API (same
                         signatures).
                     </li>
                     <li>
-                        ViewContext - A <i>Commons Chain Context</i> that
+                        ViewContext - A
+                        <i>Commons Chain Context</i>
+                        that
                         implements the combined
                         <a href="http://jakarta.apache.org/velocity/tools/struts/">
-                        VelocityStruts</a> logical API (same signatures).
+                            VelocityStruts</a>
+                        logical API (same signatures).
                     </li>
                 </ul>
             </subsection>
@@ -166,8 +178,8 @@
             </subsection>
 
             <a name="struts_1_5_x"/>
-            <subsection  name="Release 1.5.x">
-               <ul>
+            <subsection name="Release 1.5.x">
+                <ul>
                     <li>
                         Consider a "smart" action type: executes Action class
                         or ActionCommand interface, as given, in either
@@ -184,29 +196,31 @@
 
             <a name="struts_1_6_x"/>
             <subsection name="Release 1.6.x">
-               <ul>
-                   <li>
+                <ul>
+                    <li>
                         Consider multiple controllers.
                     </li>
-                   <li>
+                    <li>
                         Consider an alternate configuration file.
                     </li>
                     <li>
                         Consider "Nested" or "hierarchical" and
                         locale-sensitive modules
                     </li>
-               </ul>
+                </ul>
             </subsection>
 
             <a name="struts_1_x_x"/>
             <subsection name="Other potential enhancements">
                 <ul>
                     <li>
-                        Consider <a href="http://struts.sf.net/struts-cocoon/">
-                        Cocoon Plugin</a>
+                        Consider
+                        <a href="http://struts.sf.net/struts-cocoon/">
+                            Cocoon Plugin</a>
                     </li>
                     <li>
-                        Consider adopting several popular extensions, including:
+                        Consider adopting several popular extensions,
+                        including:
                         <ul>
                             <li>
                                 <a href="http://struts.application-servers.com/">
@@ -218,25 +232,28 @@
                             </li>
                             <li>
                                 <a href="http://stxx.sourceforge.net">Stxx</a>
-                               (XLST)
+                                (XLST)
                             </li>
                             <li>
                                 <a href="http://strutstestcase.sourceforge.net/">
-                                TestCase</a></li>
+                                    TestCase</a>
+                            </li>
                         </ul>
                     </li>
                     <li>
                         Consider encouraging the use of
                         <a href="http://sourceforge.net/projects/xdoclet/">
-                        XDoclet</a> and other code generation technologies
+                            XDoclet</a>
+                        and other code generation technologies
                         to streamline development.
                     </li>
                 </ul>
             </subsection>
         </section>
         <section>
-          <p class="right">Back:
-          <a href="roadmap.html">Roadmap</a></p>
+            <p class="right">Back:
+                <a href="roadmap.html">Roadmap</a>
+            </p>
         </section>
 
     </body>

Modified: struts/action/trunk/xdocs/navigation.xml
URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/navigation.xml?rev=370938&r1=370937&r2=370938&view=diff
==============================================================================
--- struts/action/trunk/xdocs/navigation.xml (original)
+++ struts/action/trunk/xdocs/navigation.xml Fri Jan 20 16:19:02 2006
@@ -1,54 +1,54 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <project name="Struts Action Framework">
-<title>Apache Struts - Struts Action Framework</title>
+    <title>Apache Struts - Struts Action Framework</title>
     <body>
 
         <menu name="Struts Action Framework">
             <item
-                name="Welcome"
-                href="index.html"
-                />
-            <item
-                name="Learning"
-                href="learning.html"
-                />
-            <item
-                name="Roadmap"
-                href="roadmap.html"
-                />
-            <item
-                name="Milestones"
-                href="milestones.html"
-                />
+                    name="Welcome"
+                    href="index.html"
+                    />
+            <item
+                    name="Learning"
+                    href="learning.html"
+                    />
+            <item
+                    name="Roadmap"
+                    href="roadmap.html"
+                    />
+            <item
+                    name="Milestones"
+                    href="milestones.html"
+                    />
             <item
-                name="Download"
-                href="../downloads.html"/>
+                    name="Download"
+                    href="../downloads.html"/>
         </menu>
 
         <menu name="Quick Links">
             <item
-                name="User Guide"
-                href="userGuide/index.html"
-                />
-            <item
-                name="FAQs and HOWTOs"
-                href="faqs/index.html"
-                />
-            <item
-                name="JavaDocs"
-                href="apidocs/index.html"
-                />
-            <item
-                name="Release Notes"
-                href="userGuide/release-notes.html"
-                />
-            <item
-                name="Source Repository"
-                href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/?root=Apache-SVN"
-                />
+                    name="User Guide"
+                    href="userGuide/index.html"
+                    />
+            <item
+                    name="FAQs and HOWTOs"
+                    href="faqs/index.html"
+                    />
+            <item
+                    name="JavaDocs"
+                    href="apidocs/index.html"
+                    />
+            <item
+                    name="Release Notes"
+                    href="userGuide/release-notes.html"
+                    />
+            <item
+                    name="Source Repository"
+                    href="http://svn.apache.org/viewcvs.cgi/struts/action/trunk/?root=Apache-SVN"
+                    />
             <item
-                name="Apache Struts Home"
-                href="../index.html"/>
+                    name="Apache Struts Home"
+                    href="../index.html"/>
         </menu>
     </body>
 </project>



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