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 2005/09/10 23:17:41 UTC

svn commit: r280041 - in /struts/core/trunk/xdocs/userGuide: building_model.xml introduction.xml navigation.xml preface.xml

Author: husted
Date: Sat Sep 10 14:17:36 2005
New Revision: 280041

URL: http://svn.apache.org/viewcvs?rev=280041&view=rev
Log:
Routine copy editing for the 1.3.0 release. 

Modified:
    struts/core/trunk/xdocs/userGuide/building_model.xml
    struts/core/trunk/xdocs/userGuide/introduction.xml
    struts/core/trunk/xdocs/userGuide/navigation.xml
    struts/core/trunk/xdocs/userGuide/preface.xml

Modified: struts/core/trunk/xdocs/userGuide/building_model.xml
URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/building_model.xml?rev=280041&r1=280040&r2=280041&view=diff
==============================================================================
--- struts/core/trunk/xdocs/userGuide/building_model.xml (original)
+++ struts/core/trunk/xdocs/userGuide/building_model.xml Sat Sep 10 14:17:36 2005
@@ -263,7 +263,7 @@
     
     <p>
     For more about using a database with your application, see the 
-    <a href="../faqs/database.html">Accessing a Database HowTo</a>.
+    <a href="../faqs/db-howto.html">Accessing a Database HowTo</a>.
     </p>
 
 </subsection>

Modified: struts/core/trunk/xdocs/userGuide/introduction.xml
URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/introduction.xml?rev=280041&r1=280040&r2=280041&view=diff
==============================================================================
--- struts/core/trunk/xdocs/userGuide/introduction.xml (original)
+++ struts/core/trunk/xdocs/userGuide/introduction.xml Sat Sep 10 14:17:36 2005
@@ -22,7 +22,7 @@
           problematic. The answer to that was 
           <a href="http://java.sun.com/products/jsp/product.html">JavaServer Pages</a>, 
           which turned 
-          <a href="http://java.sun.com/products/jsp/product.html">Servlet</a> writing inside-out.
+          <a href="http://www.novocode.com/doc/servlet-essentials/">Servlet</a> writing inside-out.
           Now developers could easily mix HTML with Java code, and have all the advantages of servlets.
           The sky was the limit!
         </p>
@@ -63,24 +63,47 @@
       
       </subsection>
       
-      <subsection name="1.2 The Model-View-Controller ('MVC') Design Pattern" href="mvc">
+     <subsection name="1.2 The Model-View-Controller ('MVC') Design Pattern" href="mvc">
       
-        <p>
-          In the MVC design pattern, application flow is mediated by a
-          central Controller. The Controller delegates requests - in our
-          case, HTTP requests - to an appropriate handler. The handlers
-          are tied to a Model, and each handler acts as an adapter
-          between the request and the Model. The Model represents, or
-          encapsulates, an application's business logic or
-          state. Control is usually then forwarded back through the
-          Controller to the appropriate View. The forwarding can be
-          determined by consulting a set of mappings, usually loaded
-          from a database or configuration file. This provides a loose
-          coupling between the View and Model, which can make 
-          applications significantly easier to create and maintain.
-        </p>
+      <p>
+        In the original SmallTalk Model-View-Controller framework,
+        an application is seen as having three distinct parts.
+        The problem domain is represented by the Model.
+        The output to the user is represented by the View.
+        And, the input from the user is represented by Controller.
+      </p>
 
-      </subsection>
+      <p>
+        In Smalltalk MVC, the View updates itself from the Model,
+        via the "Observer" pattern.
+        The original MVC pattern is like a closed loop:
+        The View talks to the Controller, which talks to the Model,
+        which talks to the View.
+      </p>
+
+      <p>
+        But, a direct link between the Model and the View is not practical
+        for web applications,
+        so we modify the classic MVC arrangement so that it would look
+        less like a loop and more like a horseshoe with the controller
+        in the middle.
+      </p>
+
+      <p>
+        In the MVC/Model 2 design pattern, application flow is mediated by a
+        central Controller. The Controller delegates requests - in our
+        case, HTTP requests - to an appropriate handler. The handlers
+        are tied to a Model, and each handler acts as an adapter
+        between the request and the Model. The Model represents, or
+        encapsulates, an application's business logic or
+        state. Control is usually then forwarded back through the
+        Controller to the appropriate View. The forwarding can be
+        determined by consulting a set of mappings, usually loaded
+        from a database or configuration file. This provides a loose
+        coupling between the View and Model, which can make
+        applications significantly easier to create and maintain.
+      </p>
+    </subsection>
       
     <subsection name="1.2.1 The Model: System State and Business Logic JavaBeans" href="modelConcepts">
       
@@ -165,21 +188,22 @@
       <p>
         For more about the Struts taglibs and using presentation pages 
         with the framework, see the 
-        "<a href="building_view.html">Building View Components</a>" chapter. 
+        "<a href="building_view.html">Building View Components</a>" section.
         Additional documentation regarding the taglibs is also available in 
-        the Developer Guides (see menu).
+        the Taglibs subproject.
       </p>
     </subsection>
     
     <subsection name="1.2.3 The Controller: ActionServlet and ActionMapping" href="controllerConcepts">
       
       <p>
-        The <em>Controller</em> portion of the application is focused on receiving
+        Struts Core is the <em>Controller</em> portion of the application.
+        The Controller is focused on receiving
         requests from the client (typically a user running a web browser), deciding
         what business logic function is to be performed, and then delegating
         responsibility for producing the next phase of the user interface to
-        an appropriate View component.  In Struts, the primary component of the
-        Controller is a servlet of class <code>ActionServlet</code>. This servlet
+        an appropriate View component.  The primary component of the
+        Controller in Struts Core is a servlet of class <code>ActionServlet</code>. This servlet
         is configured by defining a set of <code>ActionMappings</code>. 
         An ActionMapping defines a <code>path</code> that is matched against the 
         request URI of the incoming request and usually specifies the
@@ -188,12 +212,14 @@
         encapsulate calls to business logic classes, interpret the outcome, and
         ultimately dispatch control to the appropriate View component to create the
         response.
+        While Struts Core dispatches to a View, actually rendering the
+        View is outside its scope.
       </p>
         
       <p>
-        Struts also supports the ability to use <code>ActionMapping</code>
+        Struts Core also supports the ability to use <code>ActionMapping</code>
         classes that have additional properties beyond the standard ones required
-        to operate the framework. This allows you to store additional information
+        to operate the controller. This allows you to store additional information
         specific to your application and still utilize the remaining features of
         the framework. In addition, Struts lets you define logical "names" to which
         control should be forwarded so that an action method can ask for the
@@ -203,7 +229,7 @@
       </p>
 
       <p>
-        For more about the Struts control layer, see the
+        For more about the control layer, see the
         <a href="building_controller.html">Building Controller Components</a> chapter.
       </p>
 
@@ -212,21 +238,21 @@
       <subsection name="1.3 Struts Control Flow" href="flow">
       
         <p>
-          The Struts framework provides several components that make up the <strong>Control</strong> 
-          layer of a MVC-style application. These include a controller servlet, 
+          Struts Core provides several components that make up the <strong>Control</strong>
+          layer of a MVC-style application. These include a controller component (servlet),
           developer-defined request handlers, and several supporting objects.
         </p>
 
         <p>
-          The Struts custom tag libraries provide direct support for the <strong>View</strong> layer 
-          of a MVC application. Some of these access the control-layer objects. 
+          The Struts Taglibs (another subproject) provide direct support for the <strong>View</strong> layer
+          of a MVC application. Some of these tags access the control-layer objects.
           Others are generic tags found convenient when writing applications. Other 
           taglibs, including 
           <a href="http://java.sun.com/products/jsp/jstl/index.html">JSTL</a>, 
-          can also be used with Struts. Other presentation technologies, like 
+          can also be used with Struts Core. Other presentation technologies, like
           <a href="http://jakarta.apache.org/velocity/index.html">Velocity Templates</a> and 
           <a href="http://www.w3.org/TR/xslt">XSLT</a>
-          can also be used with Struts.
+          can also be used with Struts Core.
         </p>
 
         <p>
@@ -235,8 +261,8 @@
           but leaves that part of the programming to other products, like 
           <a href="http://java.sun.com/products/jdbc/index.html">JDBC</a>, 
           <a href="http://java.sun.com/products/ejb/index.html">Enterprise Java Beans</a>, 
-          <a href="http://jakarta.apache.org/ojb/">Object Relational Bridge</a>, or 
-          <a href="http://netmeme.org/simper/">Simper</a>, 
+          <a href="http://db.apache.org/ojb/">Object Relational Bridge</a>, or
+          <a href="http://ibatis.apache.org/">iBATIS</a>,
           to name a few.
          </p>
 
@@ -254,8 +280,8 @@
         </p>
 
         <p>
-          The Struts controller servlet consults the ActionMappings as it routes HTTP 
-          requests to other components in the framework. Requests may be forwarded to JavaServer Pages or 
+          The controller component consults the ActionMappings as it routes HTTP
+          requests to other components in Struts Core. Requests may be forwarded to JavaServer Pages or
           <a href="../struts-core/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 
@@ -281,8 +307,8 @@
         </p>
       
         <p>
-          Action objects have access to the application's controller servlet, and so have access
-          to that servlet's methods. When forwarding control, an Action object can indirectly
+          Action objects have access to the application's controller component, and so have access
+          to that members's methods. When forwarding control, an Action object can indirectly
           forward one or more shared objects, including 
           <a href="http://java.sun.com/products/javabeans/">JavaBeans</a>, by placing them in one
           of the standard contexts shared by Java Servlets.
@@ -295,7 +321,7 @@
           Since each client has their own session, they will each also have their own
           shopping cart. </p>
         <p>
-          In a Struts application, most of the business logic can be
+          In a Struts Core application, most of the business logic can be
           represented using JavaBeans. An Action can call the properties of a JavaBean 
           without knowing how it actually works. This encapsulates the business logic, 
           so that the Action can focus on error handling and where to forward control.
@@ -304,7 +330,7 @@
         <p>
           JavaBeans can also be used to manage input forms. A key problem in designing
           Web applications is retaining and validating what a user has entered between
-          requests. With Struts, you can define your own set of input bean classes, by
+          requests. With Struts Core, 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>
           [<code>org.apache.struts.action.ActionForm</code>]. The ActionForm class makes it
@@ -317,7 +343,7 @@
         <p>
           The form bean can be used by a JSP to collect data from the user ... by an
           Action object to validate the user-entered data ... and then by the JSP again to
-          re-populate the form fields. In the case of validation errors, Struts has a
+          re-populate the form fields. In the case of validation errors, Struts Core has a
           shared mechanism for raising and displaying error messages.
         </p>
         
@@ -347,13 +373,12 @@
         </ul>
         
         <p>
-          The Struts framework includes custom tags that can automatically populate
+          The Struts Taglib subproject provides custom tags that can automatically populate
           fields from a JavaBean. All most JavaServer Pages really need to know
-          about the rest of the framework is the field names to use and where to submit
-          the form. 
+          is the field names to use and where to submit the form.
         </p>
         <p>
-          Other Struts tags can automatically output messages queued by an Action 
+          Other tags can automatically output messages queued by an Action
           or ActionForm and simply need to be integrated into the page's markup. 
           The messages are designed for
           <a href="http://developer.java.sun.com/developer/technicalArticles/Intl/IntlIntro/">localization</a> 
@@ -361,7 +386,7 @@
         </p>
         
         <p>
-          The Struts framework and its custom tag libraries were designed from the ground-up 
+          Struts Core and Struts Taglibs 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>.
@@ -401,11 +426,12 @@
          </p>
         
         <p>
-          <a href="index.html">Other chapters</a> in this document cover the 
-          various Struts components in greater detail. The Struts release also 
-          includes several Developer Guides covering various aspects of the
-          frameworks, along with sample applications, the standard Javadoc API, 
-          and, of course, the complete source code!
+          <a href="index.html">Other sections</a> in this document cover the
+          various Struts Core components in greater detail.
+          The Struts Taglib distribution includes several Developer Guides
+          covering various aspects of the tag components.
+          The Struts Applications subproject provides sample applications
+          that show how it all comes together.
          </p>
          
          <p>

Modified: struts/core/trunk/xdocs/userGuide/navigation.xml
URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/navigation.xml?rev=280041&r1=280040&r2=280041&view=diff
==============================================================================
--- struts/core/trunk/xdocs/userGuide/navigation.xml (original)
+++ struts/core/trunk/xdocs/userGuide/navigation.xml Sat Sep 10 14:17:36 2005
@@ -38,26 +38,8 @@
 
     <menu name="Developer Guides">
         <item 
-            name="Bean Tags"
-            href="userGuide/dev_bean.html"/>
-        <item 
-            name="HTML Tags"
-            href="userGuide/dev_html.html"/>
-        <item 
-            name="Logic Tags"
-            href="userGuide/dev_logic.html"/>
-        <item 
-            name="Nested Tags"
-            href="userGuide/dev_nested.html"/>
-        <item 
-            name="Tiles Tags"
-            href="userGuide/dev_tiles.html"/>
-        <item 
             name="Utilities"
             href="userGuide/dev_util.html"/>
-        <item 
-            name="Validator"
-            href="userGuide/dev_validator.html"/>
     </menu>
 
     <menu name="Quick Links">

Modified: struts/core/trunk/xdocs/userGuide/preface.xml
URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/preface.xml?rev=280041&r1=280040&r2=280041&view=diff
==============================================================================
--- struts/core/trunk/xdocs/userGuide/preface.xml (original)
+++ struts/core/trunk/xdocs/userGuide/preface.xml Sat Sep 10 14:17:36 2005
@@ -268,7 +268,7 @@
     <subsection name="0.7 Java Servlets" href="servlets">
     <p>
     Since Java is an object-orientated language, the
-    <a href="http://java.sun.com/products/servlet/">Java Servlet</a>
+    <a href="http://www.novocode.com/doc/servlet-essentials/">Java Servlet</a>
     platform strives to cast HTTP into an object-orientated form.
     This strategy makes it easier for Java developers to concentrate on what they need their application to do --
     rather than the mechanics of HTTP.



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