You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by st...@apache.org on 2005/02/02 22:44:10 UTC
svn commit: r151067 -
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml
Author: steveh
Date: Wed Feb 2 13:44:09 2005
New Revision: 151067
URL: http://svn.apache.org/viewcvs?view=rev&rev=151067
Log:
Fix for BEEHIVE-82: Page Flow Overview - hitting a page flow URL
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&r1=151066&r2=151067
==============================================================================
--- 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 Feb 2 13:44:09 2005
@@ -9,7 +9,7 @@
<title>Introduction</title>
<p>
- A Java Page Flow (JPF) is a group of Java Server Pages (JSP) and a Java class that
+ A Java Page Flow (<strong>JPF</strong>) is a group of Java Server Pages (<strong>JSP</strong>) and a Java class that
controls the user experience flow through an application. In addition to allowing
complex logic to dictate which pages are displayed, JPF technology helps decouple
page authoring from application logic by preventing one JSP from directly referencing
@@ -42,7 +42,7 @@
page filling out a user profile. The controller class stores the user data as the user progresses
through the registration and has access to the profile data as session state. When the user leaves
the Page Flow, the state is automatically cleaned up. </p>
-<p><strong>Page Flows are Modular</strong></p>
+ <p><strong>Page Flows are Modular</strong></p>
<p>A single web application can have multiple Page Flows within it, allowing you to break up the application
into separate, self-contained chunks of functionality. For an example, see the
<a class="fork" href="../jpetstore.html">Petstore Sample</a>, which has different Page Flows
@@ -160,7 +160,7 @@
</section>
<section id="implementation_of_flow">
- <title>The Implementation of the Flow</title>
+ <title>The Implementation of the Flow: Controllers and Actions</title>
<p>
In the above <strong>logical flow</strong> there are several <em>if</em> statements
@@ -185,23 +185,39 @@
is the <strong>controller</strong> portion of the <strong>Model-View-Controller</strong>
(MVC) pattern. This allows a page to be written, for example, that appears
to link directly from the home page of the application to the user's "My Page".
- The <strong>controller</strong> is given the opportunity to intercept the navigation
+ The controller is given the opportunity to intercept the navigation
between the two and redirect the user to the login page, if required.
</p>
<p>
Each of the interception points is an <strong>action</strong> of the
- particular <strong>controller</strong> class. <strong>Actions</strong>
+ particular controller class. Actions
perform common application tasks. Here are some of the things that an action can do:
</p>
- <ul>
+
+ <ul>
<li>navigate the user to a specified JSP page</li>
<li>perform conditional logic</li>
<li>handle submitted data</li>
<li>validate submitted data</li>
<li>handle exceptions that arise in the application</li>
</ul>
- <p>Actions may perform any required
+
+ <p>Note that controller classes, and the actions they contain, are <strong>URL addressable</strong>.
+ Hitting the following URL creates an instance of the controller class <code>foo.MyControllerClass</code>
+ and runs its <code>begin</code> action. (When no other action is specified, the <code>begin</code>
+ method is run by default.) </p>
+
+ <source>http://some.domain.com/foo/MyControllerClass.jpf </source>
+
+ <p>Hitting the following URL creates an instance of <code>foo.MyControllerClass</code> (if it doesn't already
+ exist) and invokes the <code>someAction</code> action. Note that the controller class isn't mentioned
+ by name: it's assumed that only one controller class exists in the directory, so there is only one
+ candidate controller class to instantiate.</p>
+
+ <source>http://some.domain.com/foo/someAction.do</source>
+
+ <p>Actions may perform any required
complex logic. For example, if a user clicks on the "My Page" link, the action may check if
the user is logged in, and if so, navigate the user to the <code>mypage.jsp</code>
page, otherwise it will navigate the user to the