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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]