Author: steveh
Date: Wed Jan  5 15:46:52 2005
New Revision: 124315

URL: http://svn.apache.org/viewcvs?view=rev&rev=124315
Log:
Added info about state-management and changed the Struts merge example.
Modified:
   
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml?view=diff&rev=124315&p1=incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml&r1=124314&p2=incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml&r2=124315
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml
 Wed Jan  5 15:46:52 2005
@@ -32,11 +32,11 @@
                for short, are property setters for Java classes and methods, 
aliviating the need for independent 
                configuration files. Navigation, exception handling, 
validation, and other tasks become configurable 
                properties of a single Java class, the "controller" class that 
drives the web application.</p>
-    
     <p><strong>Page Flows are Stateful</strong></p>
     <p>When a user enters a Page Flow (by calling an URL in the Page Flow's 
URL space), an instance of the 
                Page Flow's controller class is created.  While the user is in 
the Page Flow, the controller class 
-               stores the accumulated session and user state. The methods 
within the class have access to the 
+               stores the accumulated flow-related state in member variables 
of the conroller class. 
+               The methods within the class have access to the 
                accumulated state, making for easy state management within the 
web application.  For example, 
                suppose your web application calls for a multi-page 
registration, where the user moves from page to 
                page filling out a user profile.  The controller class stores 
the user data as the user progresses 
@@ -61,9 +61,11 @@
        <p>So when would you use this? Nesting is useful when you want to do 
one of the following tasks:</p>
     <ul>
                <li>gather data from the user, for use in the current page 
flow</li>
-               <li>allow the user to correct errors or supply additional 
information en route to executing a desired action</li>
+               <li>allow the user to correct errors or supply additional 
information en route to executing a desired 
+                       action</li>
                <li>show an alternate view of data represented in the current 
page flow</li>
-               <li>show the user information that will be useful in the 
current page flow (e.g., help screens can be easily implemented as nested page 
flows)</li>
+               <li>show the user information that will be useful in the 
current page flow (e.g., help screens can be 
+                       easily implemented as nested page flows)</li>
     </ul>
     <p><strong>Struts Integration</strong></p>
     <p>Page Flows are built on top of Apache Struts 1.1.  Each Page Flow is 
compiled into a Struts module.  
@@ -73,8 +75,19 @@
        The same goes for the reverse direction: from a Struts module, simply 
configure an action to point to 
        the desired method in the Page Flow.  
                <!--[todo: detailed doc based on R. Feit's: 
http://dev2dev.bea.com/products/wlworkshop81/articles/Feit.jsp]--></p>
-
-<p>You can use many advanced Struts features within a Page Flow, for example, 
the StrutsValidatorPlugIn, which allows you to declare validation rules inside 
an XML file.  Page Flows do not directly support the plug-in, but you can refer 
your data to a Struts app that does support the plug-in by using the 
<strong>Struts merge</strong> feature of Page Flows. <!-- [todo: detailed doc 
based on R. Feit's: 
http://dev2dev.bea.com/products/wlworkshop81/articles/Feit.jsp] --> </p>
+<p>You can also use the Struts merge feature to read configuration data from a 
pure Struts app into your 
+       Page Flow apps configuration files.  Ordinarily, your Page Flow's 
configuration files are generated 
+       entirely from your application's
+       JAVA source files (specifically from the <em>metadata annotations</em> 
that decorate your JAVA source code).  
+       But, in cases where you want to integrate a Struts module into your 
application,
+       you can specify that the configuration files be generated from both the 
JAVA source files <em>and</em> the 
+       Struts module's configuration files, allowing you to change or add 
<em>any tag</em> in the generated 
+       configuration file.  For example, suppose you want to override the 
default request-scoping for an 
+       action form to session-scoping.  To do this, you simply create a Struts 
configuration file 
+       that overrides the appropriate parts of the Page Flow's configuration 
file, and then refer to this 
+       override file from within the Page Flow's JAVA source file using a 
special annotation.  In particular,
+       you would specify the override file to state that such-and-such and 
action form should have session-scope
+       rather then request-scope (so that the action form can now be shared 
with the Struts app).  </p>
 </section>
   <section id="logical_flow">
     <title>The Logical Flow</title>

Reply via email to