Author: steveh
Date: Thu Aug 19 12:54:31 2004
New Revision: 36631

Added:
   incubator/beehive/trunk/netui/docs/guide/beehive.css   (contents, props 
changed)
   incubator/beehive/trunk/netui/docs/guide/guide/
   
incubator/beehive/trunk/netui/docs/guide/guide/navGuidetoBuildingPageFlows.html 
  (contents, props changed)
   incubator/beehive/trunk/netui/docs/guide/index.html   (contents, props 
changed)
   incubator/beehive/trunk/netui/docs/guide/reference/
   
incubator/beehive/trunk/netui/docs/guide/reference/conRequiredParentTags.html   
(contents, props changed)
   incubator/beehive/trunk/netui/docs/guide/reference/jpf/
   incubator/beehive/trunk/netui/docs/guide/reference/jpf/action.html   
(contents, props changed)
   incubator/beehive/trunk/netui/docs/guide/reference/jpf/catch.html   
(contents, props changed)
   incubator/beehive/trunk/netui/docs/guide/reference/jpf/controller.html   
(contents, props changed)
   
incubator/beehive/trunk/netui/docs/guide/reference/jpf/exception-handler.html   
(contents, props changed)
   incubator/beehive/trunk/netui/docs/guide/reference/jpf/forward.html   
(contents, props changed)
   
incubator/beehive/trunk/netui/docs/guide/reference/jpf/message-resources.html   
(contents, props changed)
   
incubator/beehive/trunk/netui/docs/guide/reference/jpf/navJpfAnnotations.html   
(contents, props changed)
   incubator/beehive/trunk/netui/docs/guide/reference/jpf/simple-action.html   
(contents, props changed)
   
incubator/beehive/trunk/netui/docs/guide/reference/jpf/validation-error-forward.html
   (contents, props changed)
   
incubator/beehive/trunk/netui/docs/guide/reference/navPageFlowandJSPReference.html
   (contents, props changed)
Modified:
   incubator/beehive/trunk/netui/ant/javadoc.xml
   incubator/beehive/trunk/netui/docs/guide/tutorial/tutJPFStep4.html
   incubator/beehive/trunk/netui/docs/guide/tutorial/tutJPFStep5.html
Log:
Adding nav pages, CSS file, and annotation reference pages.

Modified: incubator/beehive/trunk/netui/ant/javadoc.xml
==============================================================================
--- incubator/beehive/trunk/netui/ant/javadoc.xml       (original)
+++ incubator/beehive/trunk/netui/ant/javadoc.xml       Thu Aug 19 12:54:31 2004
@@ -32,7 +32,7 @@
       <echo 
message="================================================================================"/>
 
       <echo message="build - Cleans and builds all doc, copies the result to 
the forrest site.    "/> 
       <echo message="clean - Deletes the built netui docs and associated temp 
files."/>
-      <echo message="generate-conceptual-doc - not yet implemented"/>
+      <echo message="generate-conceptual-doc - Copies the conceptual docs to 
the build directory."/>
       <echo message="generate-class-ref - Generates the Page Flow class 
reference, using the standard Javadoc doclet."/>
       <echo message="generate-taglib-ref - Generates the netui Tag Library 
reference."/>
       <echo message="copy-to-forrest - Copies the built netui docs to the 
forrest site."/>
@@ -44,7 +44,7 @@
     <!-- You must deploy netui before you run this target, or any of its 
sub-targets. -->
     <target name="build" description="Generate Javadoc for all core server and 
tags">
       <antcall target="clean"/>
-       <!--<antcall target="generate-conceptual-doc"/>-->
+       <antcall target="generate-conceptual-doc"/>
       <antcall target="generate-class-ref"/>
       <antcall target="generate-taglib-ref"/>
     </target>  
@@ -54,12 +54,19 @@
       <delete dir="${build.dir}/docs" failonerror="false"/>
     </target>
 
+    <target name="generate-conceptual-doc">
+      <copy todir="${docs.build.dir}" overwrite="true">
+        <fileset dir="${docs.dir}/guide"/>
+      </copy>
+    </target>
+
+
     <!-- The 'use' attribute is currently set to 'false' because of Java bug 
5055723.
          This bug will be fixed for the general release of JDK5.
          Track the bug at: 
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5055723
          When the fix arrives in JDK5, set use="true". -->
     <target name="generate-class-ref">
-      <javadoc destdir="${docs.build.dir}/java-class"
+      <javadoc destdir="${docs.build.dir}/reference/java-class"
                maxmemory="256M"
                windowtitle="Page Flow API Documentation"
                doctitle="Page Flow API Documentation"
@@ -104,18 +111,18 @@
 
        <target name="generate-taglib-ref" description="Uses a custom doclet to 
generate XML from Java source files.">
                <delete dir="${docs.temp}" failonerror="false"/>
-               <delete dir="${docs.build.dir}/taglib" failonerror="false"/>
+               <delete dir="${docs.build.dir}/reference/taglib" 
failonerror="false"/>
                <mkdir dir="${docs.temp}/tld"/>
                <mkdir dir="${docs.temp}/xml/tagref"/>
                <mkdir dir="${docs.temp}/html/tagref"/>
-               <mkdir dir="${docs.build.dir}/taglib"/>
+               <mkdir dir="${docs.build.dir}/reference/taglib"/>
                <antcall target="copy-tld-files"/>
                <javadoc classpathref="javadoc.classpath" 
destdir="${docs.temp}/xml/tagref">
                        <doclet 
name="org.apache.beehive.netui.tools.doclet.jsptagref.JspTagDoc" 
path="${docs.dir}/tools/lib/jsptagrefdoclet.jar;${xbean.jar};${jsr173.jar};${docs.dir}/external/xalan-241.jar">
                                <param name="-source" value="1.5"/>
                                <param name="-tlddir" value="${docs.temp}/tld"/>
                                <param name="-xmldir" 
value="${docs.temp}/xml/tagref"/>
-                               <param name="-htmldir" 
value="${docs.build.dir}/taglib"/>
+                               <param name="-htmldir" 
value="${docs.build.dir}/reference/taglib"/>
                                <param name="-breakiterator"/>
                        </doclet>
                        <!-- <link href="http://feverhouse.com"; offline="true" 
packagelistLoc="../build/docs/java-class"/> -->
@@ -142,8 +149,8 @@
                                <include 
name="org/apache/beehive/netui/tags/template"/>
                        </packageset>
                </javadoc>
-               <delete 
file="${docs.build.dir}/taglib/taglib-frame-ignore.html" failonerror="false"/>
-               <delete 
file="${docs.build.dir}/taglib/taglib-summary-ignore.html" failonerror="false"/>
+               <delete 
file="${docs.build.dir}/reference/taglib/taglib-frame-ignore.html" 
failonerror="false"/>
+               <delete 
file="${docs.build.dir}/reference/taglib/taglib-summary-ignore.html" 
failonerror="false"/>
                <delete dir="${docs.temp}" failonerror="false"/>
        </target>
 

Added: incubator/beehive/trunk/netui/docs/guide/beehive.css
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/docs/guide/beehive.css        Thu Aug 19 
12:54:31 2004
@@ -0,0 +1,370 @@
+/*  The styles most likely to be used are:
+       - h1, h2, h3, h4: Title, second, third, and fourth-level headings 
within the body of a topic
+       - relatedTopics: Related Topics
+       - procTitle: Within How Do I:... topics, for headings within the body 
of a topic that are followed by
+         bulleted procedures ("To do this").
+       - pre: For code blocks
+       - langinline: For code fragments within a (non-code) regular section.
+       - notepara: Notes        
+*/
+h1,
+h2,
+h3,
+h4,
+h5,
+p,
+proctitle,
+relatedtopics {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       color: #000000;
+}
+
+/* Use h1 for the topic title */
+h1 {
+       font-weight: bold;
+       font-style: normal;
+       font-family: Verdana, sans-serif;
+       font-size: 142%;
+}
+
+/* Use h2 for all second-level headings. */
+h2 {
+       font-size: 135%;
+       margin-top: .5em;
+       margin-bottom: .5em;
+}
+
+/* Use h3 for all third-level headings. */
+h3 {
+       font-size: 120%;
+       margin-top: 1em;
+       margin-bottom: .6em;
+}
+
+/* Use h4 for all fourth-level headings. 
+   Note: this style looks identical to the relatedtopics and proctitle styles. 
*/
+h4 {
+       font-size: 110%;
+       margin-top: 1em;
+       margin-bottom: .6em;
+}
+
+/* Use h5 for all fifth-level heading.  
+   Currently, there are no h5s in use in the document.*/
+h5 {
+       font-size: 105%;
+       margin-top: 1em;
+       margin-bottom: .6em;
+}
+
+/* Used for figure captions.*/
+p.arttitle {
+       font-weight: Bold;
+}
+  
+/* The attribute style resembles the navtitle and partdesc styles in that it 
keeps the next paragraph 
+   flush with it. Use it when you list the attributes of syntax in a reference 
topic.
+   The argument style should always be followed by the partdesc style. */
+p.attribute {
+       margin-top: .6em;
+       margin-bottom: 0px;
+       font-weight: Bold;
+       
+}
+
+/* Standard HTML tag. */
+body {
+       padding: 0px 0px 0px 15px;
+       background: #ffffff;
+       color: #00000;
+       font-size: 80%;
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+}
+
+/* Standard HTML tag. */
+span.bold {
+       font-weight: Bold;
+}
+
+/* Standard HTML tag. */
+blockquote {
+       margin: 0em 0em 0em 2em;
+       padding: 0px;
+}
+
+/* Use the filepath style to designate file paths. It is currently a monospace 
file. */
+span.filepath {
+       font: 100% Courier New Courier mono;
+       font-family: "Courier New", monospace;
+}
+
+/* The langinline style, like userinput and filepath, also renders text 
monospace. Use this
+   to denote any individual instance of code in the context of non-coded text. 
For example, 
+   you would use this to denote the name of a class when you're describing it 
in the paragraph that
+   precedes a code sample. To denote a code sample, however, use the <pre> 
tag. */
+span.langinline {
+       font: 100% Courier New Courier mono;
+       font-family: "Courier New", monospace;
+}
+
+/* The listplain style narrows the margin between the formatted line and the 
one before it.
+   It is to be used when creating a second paragraph in a list item, along 
with the indent and
+   unindent buttons in Dreamweaver. */
+p.listplain {
+       margin-top: 0.7em;
+       margin-bottom: 0;
+       padding: 0em;
+}
+
+/* All text in the navtitle style should include a link to another topic.
+   The navtitle style is used in navigational node topics, in Class reference
+   topics, and in Method reference topics. For example, in the "Topics 
+   Included in this Section" section of a navigation topic, you include the 
links to all of 
+   the topics in that chapter, along with a brief description of what you'll 
find in each. Use the
+   navtitle style for the linked text. It differs from a normal paragraph 
style in that it does not 
+   include an extra paragraph break between the link and the descriptive text. 
*/
+p.navtitle {
+       margin-top: .6em;
+       margin-bottom: 0em;
+}
+
+/* The navdesc style is used in navigational node topics, in Class reference
+   topics, and in Method reference topics. For example, in the "Topics 
Included in this Section" 
+   section of a navigation topic, you include the links to all of the topics 
in that chapter,
+   along with a brief description of what you'll find in each. Use this style 
for the descriptive text. 
+   It indents the text one tab stop and keeps the margin between this style 
and the navtitle style small.  */
+p.navdesc {
+       margin-bottom: 1em;
+       margin-left: 1.9em;
+       margin-top: 0em;
+}
+
+/* The notepara style indents your text to the tab stop for note
+   text. You should always begin Note text with the word "Note:" in
+   boldface. */
+p.notepara {
+       margin-left: 2em;
+       margin-right: 2em;
+       margin-bottom: 1.5em;
+}
+
+/* The partname style resembles the navtitle style in that it keeps the next 
paragraph flush with it. 
+   You use it when you list the parameters in a reference topic. It is also 
used currently in the 
+   glossary to designate glossary entries. It renders text italic.
+   The partname style should always be followed by the partdesc style.*/
+p.partname {
+       margin-top: .6em;
+       margin-bottom: 0px;
+       font-style: italic;
+}
+
+/* Use the partdesc style when you describe the function of the properties, 
parameters, or exceptions 
+   listed in a reference topic. It is also used currently in the glossary to 
designate glossary 
+   definitions. The style indents the description slightly.
+   The partdesc style should always follow the partname or attribute style.*/
+p.partdesc {
+       margin-bottom: 1em;
+       margin-left: 1.9em;
+       margin-top: 0em;
+}
+
+/* The point of the proctitle style is the same as the point of the 
relatedtopics style.  
+   It applies to all headings that begin with "To [do something]". It looks 
identical to the h4 style.  */
+p.proctitle {
+       font-size: 110%;
+       margin-top: 1em;
+       margin-bottom: .6em;
+       font-weight: Bold;
+}
+
+/* Use the relatedtopics style, for the words "Related Topics" at the end of a 
topic. 
+   It looks identical to the h4 style. */
+p.relatedtopics {
+       font-size: 120%;
+       margin-top: 1em;
+       margin-bottom: .6em;
+       font-weight: Bold;
+}
+
+/* The syntax style renders text bold. Use it to style all syntax lines under 
the
+   Syntax heading of reference topics. */
+p.syntax {
+       font-family: monospace;
+       line-height: normal;
+       font-weight: Bold;
+}
+
+/* Use the syntaxindent style to indent sub-properties of syntax declarations. 
*/
+p.syntaxindent {
+       font-family: monospace;
+       line-height: normal;
+       font-weight: Bold;
+       margin-left: 1.5em;
+       margin-top: 0em;
+       margin-bottom: 0px;
+}
+
+p.fileurl {
+       font-size: 8pt;
+}
+
+p.modifieddate {
+       font-size: 8pt;
+}
+
+/* The syntaxpartname character style renders text italic. Use it to designate 
+   syntax elements in reference topics.*/
+span.syntaxpartname {
+       font-style: italic;
+       font-weight: normal;
+}
+
+/* These specifications dictate the margins and width of tables. */
+table {
+       width: 90%;
+       margin-top: .6em;
+       margin-bottom: .3em;
+}
+
+/* The background of header cells is grey, and the text is bottom-aligned. */
+th {
+       padding-left: 8px;
+       padding-right: 8px;
+       background: #cccccc;
+       text-align: left;
+       font-size: 80%;
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       vertical-align: bottom;
+}
+
+/* The text in normal table cells is top-aligned. */
+td {
+       padding-left: 8px;
+       padding-right: 8px;
+       background: #ffffff;
+       vertical-align: top;
+       font-size: 80%;
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+}
+
+/* This style creates space above and below table text between paragraph and 
the table borders. */
+p.tabletext {
+       margin-top: .6em;
+       margin-bottom: .6em;
+}
+
+/* The editor uses this style when creating template guides to designate a 
style annotation. 
+   You probably won't want to use it anywhere else in the guide. */
+span.template {
+       color: #FF00FF; 
+}
+
+a.toc-node {
+       font-size:11px;
+       color:000000;
+       margin-left: 0px;
+       margin-top: 0px;
+       margin-bottom: 0px;
+    white-space: nowrap;
+    font-family: Tahoma;
+    background-color:#FFFFFF;
+    text-decoration:none;        
+}
+
+/* The userinput style renders text monospace.Use this style to highlight text 
that a user 
+   types into a text field.  */
+span.userinput {
+       font: 100% Courier New Courier mono;
+       font-family: "Courier New", monospace;
+}
+
+/* Standard HTML tags. */
+ul,
+ol {
+       font-family: Verdana, Arial, Helvetica, sans-serif;
+       list-style-position: outside;
+       list-style-image: none;
+       margin-top: 0em;
+       margin-bottom: 0em;
+}
+
+/* Standard HTML tag. */
+ol {
+       list-style-type: 1;
+       margin-left: 2em;
+}
+
+/* Standard HTML tag. */
+ul {
+       list-style-type: disc;
+       margin-left: 1.5em;
+}
+
+/* Standard HTML tag. */
+li {
+       margin-top: 1.3em; 
+       margin-bottom: 0em;
+}
+
+a:link {
+       color: #3366CC;
+}
+a:hover {
+       text-decoration: underline;
+}
+
+a:active {
+       text-decoration: underline;
+}
+
+a:visited {
+       color: #803380;
+}
+
+a {
+       text-decoration: none none none;
+}
+
+div.footer {
+}
+
+.buttonclass
+{
+       font-size:10px;
+       height:20px;
+}
+
+.formclass
+{
+       font-size:10px;
+       height:18px;
+}
+
+/* These styles are used by the Workshop search results page */
+
+.search-node {
+       font-size:10px;
+       color:000000;
+}
+
+a.search-node {
+       font-size:10px;
+       color:000000;
+}.tutorial-task {
+       background-color: #DDFFDD;
+       border: 1px solid #999999;
+       clip:      rect(auto auto auto auto);
+       padding-bottom: 15px;
+       padding-left: 35px;
+
+
+
+
+
+
+
+
+
+
+
+}

Added: 
incubator/beehive/trunk/netui/docs/guide/guide/navGuidetoBuildingPageFlows.html
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/docs/guide/guide/navGuidetoBuildingPageFlows.html 
    Thu Aug 19 12:54:31 2004
@@ -0,0 +1,90 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+<head>
+<title>Guide to Building Page Flows</title>
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<!--(Links)=========================================================-->
+<link href="../beehive.css" rel="stylesheet" type="text/css"></head> 
+<!--(Body)==========================================================--><body> 
+<div id="topictitle"> 
+  <h1>Guide to Building Page Flows</h1>
+</div>
+<div id="topictext"> 
+  <p>WebLogic Workshop provides you with the tools to develop web applications 
+    using JavaServer Pages (JSPs) and Page Flows, separating presentation, 
business 
+    logic, and navigational control to manage complexity. The topics in this 
section 
+    discuss these concepts and provide detailed information on how to use 
WebLogic 
+    Workshop to develop web applications based on page flows and JSP pages.</p>
+  <h2>Topics Included in This Section</h2>
+  <p class="navtitle"><a href="conIntroductionPageFlows.html">Introduction to 
+    Building Web Application with Page Flows</a></p>
+  <p class="navdesc">Introduces the page flow features in WebLogic Workshop. 
Walks 
+    you through a simple example.</p>
+  <p class="navtitle"><a href="conAdvantagesPageFlows.html">Advantages of 
Using 
+    Page Flows</a></p>
+  <p class="navdesc">Outlines the advantages of page flow features, especially 
+    in comparison to using &quot;pure Struts.&quot;</p>
+  <p class="navtitle"><a href="conMVCDesignPattern.html">Using Form Beans to 
Encapsulate 
+    Data</a></p>
+  <p class="navdesc">Introduces data binding and describes how forms beans are 
+    used to separate data from presentation.</p>
+  <p class="navtitle"><a href="conReqScopedVsPageScopedBean.html">Form Bean 
Scopings</a></p>
+  <p class="navdesc">Explains the different scopings available for Form 
Beans.</p>
+  <p class="navtitle"><a href="conDatabindingXScript.html">Using Data Binding 
+    in Page Flows</a></p>
+  <p class="navdesc">Describes the various data binding contexts that are 
available 
+    in WebLogic Workshop.</p>
+  <p class="navtitle"><a href="conJSPTagsForPageFlows.html">Designing User 
Interfaces 
+    in JSPs</a></p>
+  <p class="navdesc">Discusses the most common presentation elements that you 
+    will need to design your web pages, such as buttons, labels, and 
checkboxes.</p>
+  <p class="navtitle"><a href="conComplexDataSets.html">Presenting Complex 
Data 
+    Sets in JSPs</a></p>
+  <p class="navdesc">Describes the JSP data binding tags used to dynamically 
display 
+    large sets of data in a JSP.</p>
+  <p class="navtitle"><a href="conDeclaringPageInputs.html">Declaring Page 
Inputs</a></p>
+  <p class="navdesc">Explains how to declare variables that will be passed 
from 
+    the page flow controller to the JSP page. </p>
+  <p class="navtitle"><a 
href="conCallingDatabaseControlFromPageFlow.html">Calling 
+    a Database Control From a Page Flow</a></p>
+  <p class="navdesc">Describes how to call a database Control from a Page 
Flow. 
+  </p>
+  <p class="navtitle"><a 
href="conCallingAWebServiceFromAPageFlow.html">Calling 
+    Web Services and Custom Java Controls From a Page Flow</a></p>
+  <p class="navdesc">Describes how to call a web service or Custom Java 
Control 
+    from a Page Flow.</p>
+  <p class="navtitle"><a href="conHandlingBinaryData.html">Handling Images and 
+    Binary Data in Page Flows</a></p>
+  <p class="navdesc">Describes how to handle and display binary data, such as 
+    image files, in Page Flows and JSP pages.</p>
+  <p class="navtitle"><a href="conUsingJavaScript.html">Using JavaScript in 
Page 
+    Flow and Portal Applications</a></p>
+  <p class="navdesc">Explains how to access Page Flow tags with JavaScript, 
especially 
+    when the Page Flow application is contained in a Portal.</p>
+  <p class="navtitle"><a href="conFlowViewBasics.html">A Detailed Page Flow 
Example</a></p>
+  <p class="navdesc">Discusses how you can use WebLogic Workshop to quickly 
build 
+    the framework of a web application, which implements the major 
navigational 
+    flows and other major business logic, and can be used for early 
testing.</p>
+  <p class="navtitle"><a href="conBestPractices.html">Best Practices for Page 
+    Flows</a></p>
+  <p class="navdesc">Describes a number of best practices for building Page 
Flows 
+    and JSP pages.</p>
+  <p class="navtitle"><a href="conUpdateSP.html">Updating Libraries with 
Service 
+    Packs</a></p>
+  <p class="navdesc">Describes how to update Page Flow libraries after you 
install 
+    a new WebLogic Workshop Service Pack.</p>
+  <p class="navtitle"><a 
href="conConfiguringPageFlowApplications.html">Configuring 
+    Page Flow Applications</a></p>
+  <p class="navdesc">Explains how to optimize performance and avoid exhaustion 
+    of server resources.</p>
+  <h3 class="navtitle">Related Topics</h3>
+  <p><a 
href="../../tutorial/getting_started/webapp/tutGS_WebAppConcepts.html">Getting 
+    Started Tutorial: Web Applications</a></p>
+  <p><a href="../tutorial/tutBeehivePageFlowTutorial.html">Tutorial: Page 
+    Flow</a></p>
+  <p><a href="../samples/navPageFlowAndJSPSamples.html">Page Flow and JSP 
Samples</a></p>
+</div>
+</body>
+</html>

Added: incubator/beehive/trunk/netui/docs/guide/index.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/docs/guide/index.html Thu Aug 19 12:54:31 2004
@@ -0,0 +1,39 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+<head>
+<title>Beehive Netui Development Guide</title>
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<!--(Links)=========================================================-->
+<link href="beehive.css" rel="stylesheet" type="text/css">
+</head> 
+<!--(Body)==========================================================-->
+<body> 
+<div id="topictitle"> 
+  <h1>Beehive Netui Development Guide</h1>
+</div>
+<div id="topictext"> 
+  <p>This following topics explain how develop web applications using Page 
Flow 
+    technology. The topics are divided into five sections: </p>
+  <p class="navtitle"><a href="guide/navGuidetoBuildingPageFlows.html">Guide 
to 
+    Building Page Flows</a></p>
+  <p class="navdesc">This development guide explains the key concepts involved 
+    in developing web applications using Page Flows, JavaServer Pages (JSPs), 
+    and Java Controls.</p>
+  <p class="navtitle"><a href="tutorial/tutBeehivePageFlowTutorial.html">Page 
+    Flow Tutorial</a></p>
+  <p class="navdesc">Gives step by step instructions for building a simple 
Page 
+    Flow web application.</p>
+  <p class="navtitle">How Do I?</p>
+  <p class="navdesc">These topics provide step by step instructions for 
performing 
+    common Page Flow development tasks.</p>
+  <p class="navtitle"><a 
href="samples/navPageFlowAndJSPSamples.html">Samples</a></p>
+  <p class="navdesc">Provides Page Flow code samples.</p>
+  <p class="navtitle"><a href="reference/navPageFlowandJSPReference.html">Page 
+    Flow Reference</a></p>
+  <p class="navdesc">The reference section provides details on Page Flow code 
+    annotations, JSP tag syntax, and Javadoc for Page Flow implementation 
classes.</p>
+  </div>
+</body>
+</html>

Added: 
incubator/beehive/trunk/netui/docs/guide/reference/conRequiredParentTags.html
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/docs/guide/reference/conRequiredParentTags.html   
    Thu Aug 19 12:54:31 2004
@@ -0,0 +1,356 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Navigational.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>JSP Tags Hierarchy</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content>
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content>
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
+<link href="../../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../../core/CookieClass.js"></script>
+<script language="JavaScript" 
src="../../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" --> 
+<div id="topictitle">
+  <h1 class="Title">JSP Tags Hierarchy</h1>
+</div>
+<div id="topictext">
+  <p>The table below shows the required parent tags of the Page Flow JSP tag 
library 
+    (&lt;netui:...&gt;, &lt;netui-data:...&gt;, and 
&lt;netui-template:...&gt;).</p>
+  <h2>&lt;netui:...&gt; Tags</h2>
+  <table width="100%" border="1" cellpadding="5">
+    <tr> 
+      <td width="31%"><strong>Tag</strong></td>
+      <td width="69%"><strong>Required Parent Tag</strong></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/anchor.html">&lt;netui:anchor&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/base.html">&lt;netui:base&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/bindingUpdateErrors.html">&lt;netui:bindingUpdateErrors&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/button.html">&lt;netui:button&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/checkBox.html">&lt;netui:checkBox&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/checkBoxGroup.html">&lt;netui:checkBoxGroup&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/checkBoxOption.html">&lt;netui:checkBoxOption&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/checkBoxGroup.html">&lt;netui:checkBoxGroup&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/content.html">&lt;netui:content&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/error.html">&lt;netui:error&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/errors.html">&lt;netui:errors&gt;</a></td>
+      <td>none<br> </td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/exceptions.html">&lt;netui:exceptions&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/fileUpload.html">&lt;netui:fileUpload&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/form.html">&lt;netui:form&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/formatDate.html">&lt;netui:formatDate&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/content.html">&lt;netui:content&gt;</a>,
 
+        <a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/label.html">&lt;netui:label&gt;</a>
 
+      </td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/formatNumber.html">&lt;netui:formatNumber&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/content.html">&lt;netui:content&gt;</a>,
 
+        <a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/label.html">&lt;netui:label&gt;</a>
 
+      </td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/formatString.html">&lt;netui:formatString&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/content.html">&lt;netui:content&gt;</a>,
 
+        <a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/label.html">&lt;netui:label&gt;</a>
 
+      </td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/hidden.html">&lt;netui:hidden&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/html.html">&lt;netui:html&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/image.html">&lt;netui:image&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/imageAnchor.html">&lt;netui:imageAnchor&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/imageButton.html">&lt;netui:imageButton&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/label.html">&lt;netui:label&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/node.html">&lt;netui:node&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/tree.html">&lt;netui:tree&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/parameter.html">&lt;netui:parameter&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/anchor.html">&lt;netui:anchor&gt;</a>,
 
+        <a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/form.html">&lt;netui:form&gt;</a>
 
+      </td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/parameterMap.html">&lt;netui:parameterMap&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/anchor.html">&lt;netui:anchor&gt;</a>,
 <a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/form.html">&lt;netui:form&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/radioButtonGroup.html">&lt;netui:radioButtonGroup&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/radioButtonOption.html">&lt;netui:radioButtonOption&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/radioButtonGroup.html">&lt;netui:radioButtonGroup&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/rewriteName.html">&lt;netui:rewriteName&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/rewriteURL.html">&lt;netui:rewriteURL&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/scriptContainer.html">&lt;netui:scriptContainer&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/select.html">&lt;netui:select&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/selectOption.html">&lt;netui:selectOption&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/select.html">&lt;netui:select&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/textArea.html">&lt;netui:textArea&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/textBox.html">&lt;netui:textBox&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-html-1.0/tree.html">&lt;netui:tree&gt;</a></td>
+      <td>none</td>
+    </tr>
+  </table>
+  <a name="netui-tags-databinding"></a> 
+  <h2>&lt;netui-data:...&gt; Tags</h2>
+  <table width="100%" border="1" cellpadding="5">
+    <tr> 
+      <td width="31%"><strong>Tag</strong></td>
+      <td width="69%"><strong>Required Parent Tag</strong></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/anchorColumn.html">&lt;netui-data:anchorColumn&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/columns.html">&lt;netui-data:columns&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/basicColumn.html">&lt;netui-data:basicColumn&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/columns.html">&lt;netui-data:columns&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/callControl.html">&lt;netui-data:callControl&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/callMethod.html">&lt;netui-data:callMethod&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/callPageFlow.html">&lt;netui-data:callPageFlow&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/cellRepeater.html">&lt;netui-data:cellRepeater&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/choice.html">&lt;netui-data:choice&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeaterItem.html">&lt;netui-data:repeaterItem&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/choiceMethod.html">&lt;netui-data:choiceMethod&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeaterItem.html">&lt;netui-data:repeaterItem&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/columns.html">&lt;netui-data:columns&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/grid.html">&lt;netui-data:grid&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/declareBundle.html">&lt;netui-data:declareBundle&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/declareControl.html">&lt;netui-data:declareControl&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td height="59"><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/declarePageInput.html">&lt;netui-data:declarePageInput&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/expressionColumn.html">&lt;netui-data:expressionColumn&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/columns.html">&lt;netui-data:columns&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/getData.html">&lt;netui-data:getData&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/grid.html">&lt;netui-data:grid&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/gridStyle.html">&lt;netui-data:gridStyle&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/grid.html">&lt;netui-data:grid&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/imageColumn.html">&lt;netui-data:imageColumn&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/columns.html">&lt;netui-data:columns&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/message.html">&lt;netui-data:message&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/messageArg.html">&lt;netui-data:messageArg&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/message.html">&lt;netui-data:message&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/methodParameter.html">&lt;netui-data:methodParameter&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/callControl.html">&lt;netui-data:callControl&gt;</a>,
 
+        <a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/callMethod.html">&lt;netui-data:callMethod&gt;</a>,
 
+        <a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/callPageFlow.html">&lt;netui-data:callPageFlow&gt;</a>,
 
+        <a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/choiceMethod.html">&lt;netui-data:choiceMethod&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/pad.html">&lt;netui-data:pad&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeater.html">&lt;netui-data:repeater&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/pager.html">&lt;netui-data:pager&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/grid.html">&lt;netui-data:grid&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeater.html">&lt;netui-data:repeater&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeaterFooter.html">&lt;netui-data:repeaterFooter&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeater.html">&lt;netui-data:repeater&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeaterHeader.html">&lt;netui-data:repeaterHeader&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeater.html">&lt;netui-data:repeater&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeaterItem.html">&lt;netui-data:repeaterItem&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/repeater.html">&lt;netui-data:repeater&gt;</a></td>
+    </tr>
+  </table>
+  <a name="netui-tags-template"></a> 
+  <h2>&lt;netui-template:...&gt; Tags</h2>
+  <table width="100%" border="1" cellpadding="5">
+    <tr> 
+      <td width="31%" height="28"><strong>Tag</strong></td>
+      <td width="69%"><strong>Required Parent Tag</strong></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-template-1.0/attribute.html">&lt;netui-template:attribute&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-template-1.0/includeSection.html">&lt;netui-template:includeSection&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-template-1.0/section.html">&lt;netui-template:section&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-template-1.0/template.html">&lt;netui-template:template&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-template-1.0/setAttribute.html">&lt;netui-template:setAttribute&gt;</a></td>
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-template-1.0/template.html">&lt;netui-template:template&gt;</a></td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-template-1.0/template.html">&lt;netui-template:template&gt;</a></td>
+      <td>none</td>
+    </tr>
+    <tr> 
+      <td><a 
href="../../../taglib/www.bea.com/workshop/netui-tags-template-1.0/visible.html">&lt;netui-template:visible&gt;</a></td>
+      <td>none</td>
+    </tr>
+  </table>
+  <p class="relatedtopics">Related Topics</p>
+  <p><a href="../../../reference/tags/navJspTags.html">JSP Tags 
Reference</a></p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+
+<!-- InstanceEnd --></html>

Added: incubator/beehive/trunk/netui/docs/guide/reference/jpf/action.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/docs/guide/reference/jpf/action.html  Thu Aug 
19 12:54:31 2004
@@ -0,0 +1,270 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Tag.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>@Jpf.Action Annotation</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="Workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content="@jpf:action Annotation reference for page 
flows">
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content="@jpf:action Annotation reference page flows">
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" -->
+<div id="topictitle">
+  <h1 class="Title">@Jpf.Action Annotation</h1>
+</div>
+<div id="topictext"> 
+  <p>You can use the <span class="langinline">@Jpf.Action</span> annotation to 
+    designate an action method in a page flow. Action methods in a page flow 
perform 
+    control logic, such as forwarding the user to a new JSP or another page 
flow. 
+    Optionally, you can cause an action to read and update from a <span 
class="langinline">FormData</span> 
+    (or <span class="langinline">ActionForm</span>) member variable; set login 
+    requirements for users; or indicate that the action method will not update 
+    any member data in the page flow. </p>
+  <p>For information about the method signatures of an action method, see the 
+    <a href="forward.html">@jpf:forward Annotation</a>. That topic also 
describes 
+    the run-time behavior of overloaded actions, in the Remarks section. </p>
+  <h2>Syntax</h2>
+  <p class="syntax">@Jpf.Action</p>
+  <p class="syntaxindent">[ form = &quot;&lt;form name&gt;&quot; ]</p>
+  <p class="syntaxindent">[ login-required = &quot;{ true | false }&quot;</p>
+  <p class="syntaxindent">[ read-only = &quot;{ true | false }&quot; ]</p>
+  <p class="syntaxindent">[ roles-allowed = &quot;&lt;J2EE role name&gt; [ , 
&lt;J2EE 
+    role name&gt; ] &quot; ]&nbsp;</p>
+  <h2>Attributes</h2>
+  <p class="attribute"><a name="form" id="form"></a>form</p>
+  <p class="partdesc">Optional. A Form Bean instance that will be passed to 
the 
+    method. The Form Bean instance that is passed to the , allowing the action 
+    to read and update from a FormData (or ActionForm) member variable. <a 
href="../../guide/netui/guide/conHandlingExceptions.html"></a>For 
+    more information, see the <a href="#remarks">Remarks</a> section. </p>
+  <p class="attribute"><a name="login-required" 
id="login-required"></a>login-required</p>
+  <p class="partdesc">Optional. A boolean that indicates whether the user must 
+    be logged-in to use this action method. If set to <span 
class="langinline">login-required=&quot;true&quot;</span> 
+    the action method can only be run if the user is logged in. That is, the 
page 
+    flow runtime checks to see if <span 
class="langinline">request.getUserPrincipal() 
+    == null</span>. If it is, then the exception <span 
class="langinline">com.bea.wlw.netui.pageflow.NotLoggedInException</span> 
+    is thrown and the code in the action method is not executed. You can catch 
+    the exception in the page flow or the web project's Global.app, and from 
there 
+    attempt to log the user in.</p>
+  <p class="partdesc">When you create a new &quot;Web Project&quot; project 
with 
+    WebLogic Workshop, a default Global.app file is created for you in the 
project's 
+    /WEB-INF/src/global directory. Global.app allows you to define actions 
that 
+    can be invoked by any other page flow in a web application. In Global.app, 
+    you can catch and handle exceptions that were not caught in your page 
flow. 
+    For more information, see <a 
href="../../guide/netui/guide/conHandlingExceptions.html">Handling 
+    Exceptions in Page Flows.</a></p>
+  <p class="attribute"><a name="read-only" id="read-only"></a>read-only</p>
+  <p class="partdesc">Optional. The default is <span 
class="langinline">read-only=&quot;false&quot;</span>. 
+    Use this attribute to indicate your intention that this action 
<nobr><strong>will 
+    not</strong></nobr> update any member data in the page flow. In a WebLogic 
+    cluster environment, this designation causes WebLogic Workshop to skip any 
+    attempted failover of the pageflow after the action is run. This option 
may 
+    allow you to increase the performance of the page flow in cluster 
environments, 
+    by making it unnecessary for WebLogic Workshop to communicate portions of 
+    this page flow's state data across the nodes in the cluster that pertain 
to 
+    the read-only actions.</p>
+  <p class="attribute"><a name="roles-allowed" 
id="roles-allowed"></a>roles-allowed</p>
+  <p class="partdesc">Optional. Specifies the name of one or more security 
roles
+  that are defined in the web project's <span 
class="filepath">/WEB-INF/web.xml</span>
+  file. If more than one security role name is specified, use a comma to 
separate
+  each name. For
+      more information on security roles, see the <a 
href="../../guide/security/role-based/navRoleBasedSecurity.html">Role-Based
+  Security</a>.</p>
+  <p class="partdesc">If roles-allowed is defined, the use of this action 
method
+     will be limited to logged-in users who are associated with at least one
+    of 
+    the specified roles specified at this method-level, or one of the security
+    roles specified on the class-level annotation <span 
class="langinline">@jpf:controller</span> (if used).
+    That
+    is, 
+    security roles that are specified at the method level with <span 
class="langinline">@Jpf.Action</span> 
+    <strong>add</strong> to any allowable roles defined at the class level 
with 
+    <span class="langinline">@jpf:controller.</span> If the user is not 
logged-in,
+     a <span 
class="langinline">com.bea.wlw.netui.pageflow.NotLoggedInException</span> 
+    will be thrown. If the user is not in an appropriate role, a <span 
class="langinline">com.bea.wlw.netui.pageflow.UnfulfilledRolesException</span> 
+    will be thrown. For more information, see <a 
href="../../guide/netui/guide/conHandlingExceptions.html">Handling
+     Exceptions in Page Flows.</a></p>
+  <p class="attribute"><a name="validation-error-page" 
id="validation-error-page"></a>validation-error-page 
+    (Deprecated) </p>
+  <p class="partdesc"><h>This attribute on @Jpf.Action has been deprecated, as 
+    of WebLogic Workshop 8.1 Service Pack 2. Instead you can use the <a 
href="validation-error-forward.html">@jpf:validation-error-forward 
+    Annotation</a>. </p>
+  <h2><a name="remarks"></a>Remarks</h2>
+  <p>The following rules apply to this annotation's use:</p>
+  <ul style="list-style: disc;" type="disc">
+    <li> 
+      <p>Without an <span class="langinline">@Jpf.Action</span> annotation, a 
+        method will not be recognized by the page flow runtime as an action 
method.</p>
+    </li>
+    <li>You cannot use the <span class="langinline">jpf:action</span> 
annotation 
+      at the page flow class level.</li>
+    <li>When you drag an action icon onto the palette in a page flow's Flow 
View, 
+      the <span class="langinline">@Jpf.Action</span> annotation is 
automatically 
+      added for you in the *.jpf source code. Initially this looks like the 
following 
+      code fragment, where we provided the method name &quot;shopping&quot; 
for 
+      the action:</li>
+    <blockquote> 
+      <pre><font face="Courier New, Courier, mono">/**
+ * @Jpf.Action
+ */
+ public Forward shopping()
+ { 
+     return new Forward( &quot;success&quot; ); 
+ }</font></pre>
+      <p>In Flow View, you can then draw a forward arrow to a destination, 
such 
+        as a JSP or a page flow. This step will add a <span 
class="langinline">@jpf:forward</span> 
+        annotation in your *.jpf file. You can also change the Forward 
object's 
+        return name from &quot;success&quot; to another name. However, if you 
+        do, remember to also change the name attribute on the corresponding 
@jpf:forward 
+        annotation for the action method. For more information, see <a 
href="forward.html">@jpf:forward 
+        Annotation</a>.</p>
+    </blockquote>
+    <li> 
+      <p>You can cause an action to read and update from a <span 
class="langinline">FormData</span> 
+        (or <span class="langinline">ActionForm</span>) member variable, by 
using 
+        the <span class="langinline">@Jpf.Action form=&quot;&lt;form 
name&gt;&quot;</span> 
+        annotation. For example, in the page flow class:</p>
+      <pre>            
+         /**           
+          * @Jpf.Action form=&quot;_pageFlowForm&quot;         
+          */           
+         protected Forward doit( MyForm myForm )           
+         {             
+              // _pageFlowForm is a member variable               
+              // Note that myForm == _pageFlowForm              
+                        
+              String name = _pageFlowForm.getFullName();               
+              ...          
+         }</pre>
+      For a related advanced discussion about the behavior seen when you 
forward 
+      directly from one action to another, and the effects of form scoping, 
see 
+      the Remarks section of the topic <a href="forward.html">@jpf:forward 
Annotation</a> 
+      and the help topic <a 
href="../../guide/netui/guide/conReqScopedVsPageScopedBean.html">Page 
+      Flow Scopings</a>.</li>
+    <li> 
+      <p>If you enable <span 
class="langinline">login-required=&quot;true&quot;</span> 
+        for an action method, be sure to handle the exception that can occur 
if 
+        a user who is not logged-in raises the action on a JSP page in the 
page 
+        flow. You can add the exception code in the page flow class. For 
example:</p>
+      <pre>
+       import javax.security.auth.login.FailedLoginException;
+
+       ...
+
+    /**
+     * @Jpf.Action
+     * @jpf:forward name=&quot;success&quot; path=&quot;LoginSuccess.jsp&quot;
+     * @jpf:catch type=&quot;FailedLoginException&quot; 
method=&quot;failedLogin&quot;
+     */
+    protected Forward loginSubmit( LoginForm loginForm )
+        throws Exception
+    {
+        login( loginForm.getUsername(), loginForm.getPassword() );
+        userName = loginForm.getUsername();
+        return new Forward( &quot;success&quot;, loginForm );
+    }
+
+    /**
+     * @jpf:exception-handler
+     * @jpf:forward name=&quot;loginPage&quot; path=&quot;Login.jsp&quot;
+     */
+    protected Forward failedLogin( FailedLoginException ex, String actionName,
+                                   String message, FormData form )
+    {
+        return new Forward( &quot;loginPage&quot; );
+    }</pre>
+      <p>You can also use the Global.app file, which the Page Flow Wizard 
provides 
+        in your web project's <span 
class="langinline">WEB-INF/src/global</span> 
+        folder. In your page flow, you may notice the line: </p>
+      <p class="codeblock">//&nbsp;&nbsp; protected global.Global 
globalApp;</p>
+      <p>It is <strong>not</strong> required that you uncomment this line in 
order 
+        to have access to methods in Global.app. However, if you do uncomment 
+        it, this <span class="langinline">globalApp</span> declaration will 
give 
+        your page flow easy access to public methods and variables in 
Global.app. 
+      </p>
+      <p>In the Global.app file, check that you have code such as:</p>
+      <pre class="codeblock">
+/**
+ * @jpf:catch type=&quot;Exception&quot; method=&quot;handleException&quot;
+ */
+ public class Global extends GlobalApp
+ { 
+
+     /**
+      * General handler for uncaught exceptions.
+      *
+      * @jpf:exception-handler
+      * @jpf:forward name=&quot;errorPage&quot; path=&quot;/error.jsp&quot;
+      */
+      protected Forward handleException( Exception ex, String actionName,
+      String message, FormData form )
+      {
+      &nbsp;&nbsp;&nbsp;&nbsp;System.err.print( &quot;[&quot; + 
getRequest().getContextPath() + &quot;] &quot; );
+      &nbsp;&nbsp;&nbsp;&nbsp;System.err.println( &quot;Unhandled exception 
caught in Global.app:&quot; );
+      &nbsp;&nbsp;&nbsp;&nbsp;ex.printStackTrace();
+      &nbsp;&nbsp;&nbsp;&nbsp;return new Forward( &quot;errorPage&quot; );
+      }
+
+      ...
+
+ }</pre>
+    </li>
+    <li>The <span class="langinline">roles-allowed</span> attribute lets you 
limit 
+      access to a page flow action method to users who are associated with the 
+      J2EE role. This, in turn, limits access from the current context to the 
+      web resource that would be loaded as a result of the action.&nbsp;</li>
+    <p>Note that currently using the following IDE menu option defines a new 
security 
+      role in the <strong>application's</strong> <span 
class="langinline">/META-INF/application.xml</span> 
+      file:</p>
+    <p>Tools &gt; Security &gt; Create New Security Role...</p>
+    <p>However, <span class="langinline">/META-INF/application.xml </span>is 
not 
+      the XML file that is used for the page flow roles-allowed checking. 
Enter 
+      any J2EE roles in the web project's web.xml file, and associate 
usernames 
+      with the role name in the web project's weblogic.xml file.</p>
+  </ul>
+  <p class="relatedtopics">Related Topics</p>
+  <p><a href="catch.html">@jpf:catch Annotation</a></p>
+  <p><a href="controller.html">@jpf:controller Annotation</a></p>
+  <p><a href="exception-handler.html">@jpf:exception-handler Annotation</a></p>
+  <p><a href="forward.html">@jpf:forward Annotation</a></p>
+  <p><a href="message-resources.html">@jpf:message-resources Annotation</a></p>
+  <p><a href="validation-error-forward.html">@jpf:validation-error-forward 
Annotation</a></p>
+  <p><a href="../../guide/netui/guide/conReqScopedVsPageScopedBean.html">Form 
+    Bean Scopings</a></p>
+  <h3>Samples</h3>
+  <p><a href="../../guide/netui/samples/samDataFlow.html">Data Flow 
Sample</a></p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+<!-- InstanceEnd --></html>

Added: incubator/beehive/trunk/netui/docs/guide/reference/jpf/catch.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/docs/guide/reference/jpf/catch.html   Thu Aug 
19 12:54:31 2004
@@ -0,0 +1,197 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Tag.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>@Jpf.Catch Annotation</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="Workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content="@jpf:catch Annotation reference for page 
flows">
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content="@jpf:catch Annotation reference page flows 
exception">
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" -->
+<div id="topictitle">
+  <h1 class="Title">@Jpf.Catch Annotation</h1>
+</div>
+<div id="topictext">
+  <p>You can use the <span class="langinline">@Jpf.Catch</span> annotation to
+  catch exceptions that occur in the page flow and possibly route them to error
+  handlers.</p>
+  <p>For more information about using this annotation, see <a 
href="../../guide/netui/guide/conHandlingExceptions.html">Handling
+  Exceptions in Page Flows.</a></p>
+  <h2>Syntax</h2>
+  <p class="syntax">@Jpf.Catch</p>
+  <p class="syntaxindent">type = &quot;&lt;exception type&gt;&quot;</p>
+  <p class="syntaxindent">{ path = &quot;&lt;path&gt;&quot;&nbsp; |&nbsp; 
method
+  = &quot;&lt;method name&gt;&quot; }</p>
+  <p class="syntaxindent">[ message = &quot;&lt;message String&gt;&quot; ]</p>
+  <p class="syntaxindent">[ message-key = &quot;&lt;key value&gt;&quot; ]</p>
+  <h2>Attributes</h2>
+  <p class="attribute"><a name="type"></a>type</p>
+  <p class="partdesc">Required. Specifies the fully qualified Java type of the
+  exceptions that should be caught.</p>
+  <p class="attribute"><a name="path"></a>path</p>
+  <p class="partdesc">Either this attribute or the method attribute is 
required.
+  Specifies the resource to which the runtime should forward when it catches an
+  exception of the type specified in the type attribute. The path can map to 
one
+  of the following:</p>
+</div>
+<ul>
+  <li> 
+    <div class="partdesc"> A JSP or another page flow in this web 
application.</div>
+  </li>
+  <li> 
+    <div class="partdesc"> An action, such as <span 
class="langinline">/help/helpPage.do</span>. 
+    </div>
+  </li>
+</ul>
+<div> 
+  <p class="attribute"><a name="method"></a>method</p>
+  <p class="partdesc">Either this attribute or the path attribute is required. 
+    Specifies the name of an exception handler method that has been designated 
+    with a <span class="langinline">@jpf:exception-handler</span> annotation. 
+    That method will be invoked when the exception of the type specified in 
the 
+    type attribute is caught.</p>
+  <p class="attribute"><a name="message"></a>message</p>
+  <p class="partdesc">Optional. Specify a string that provides useful 
information 
+    about the exception.&nbsp; This message will be passed to the 
exception-handler 
+    method, if the method attribute is used.</p>
+  <p class="attribute"><a name="message-key" 
id="message-key"></a>message-key</p>
+  <p class="partdesc">Optional. Specify a key that is used to select a message 
+    from a message map. Typically this key is used to enable 
internationalization 
+    of messages, which are passed to the exception-handler method, and can 
also 
+    be displayed using the <a 
href="../../taglib/www.bea.com/workshop/netui-tags-html-1.0/errors.html">&lt;netui:errors/&gt;
 
+    tag</a>. The key refers to a message resource that is defined by the <a 
href="message-resources.html">@jpf:message-resources 
+    Annotation.</a></p>
+  <h2>Remarks</h2>
+  <p>The following rules apply to this annotation's use:</p>
+  <ul style="list-style: disc;" type="disc">
+    <li> 
+      <p>The <span class="langinline">@Jpf.Catch</span> annotation may be used 
+        on action methods and the page flow class, and in the 
/WEB-INF/src/global/Global.app 
+        file.</p>
+    </li>
+    <li> 
+      <p>If the <span class="langinline">type</span> specified is a base type 
+        (for example, <span class="langinline">Exception</span> is a base type 
+        of <span class="langinline">NullPointerException</span>), this 
annotation 
+        will apply to any subtype that is thrown, unless there is a <span 
class="langinline">@Jpf.Catch</span> 
+        that applies more specifically to the subtype. </p>
+
+      <p>For example, given the following annotations, an <span 
class="langinline">IllegalStateException</span> 
+        will be routed to &quot;error1.jsp&quot;, while a <span 
class="langinline">NullPointerException</span> 
+        will be routed to &quot;error2.jsp&quot;. (Both <span 
class="langinline">IllegalStateException</span> 
+        and <span class="langinline">NullPointerException</span> are subtypes 
+        of <span class="langinline">Exception</span>). </p>
+      <pre>
+         * @Jpf.Catch type=&quot;Exception&quot; path=&quot;error1.jsp&quot;
+         * @Jpf.Catch type=&quot;NullPointerException&quot; 
path=&quot;error2.jsp&quot;
+         </pre>
+    </li>
+  </ul>
+</div>
+<ul>
+  <li> 
+    <div>The <span class="langinline">path</span> value can be relative to the 
+      page flow within the local file hierarchy, or relative to the root of 
the 
+      web application.</div>
+  </li>
+</ul>
+<div> 
+  <ul style="list-style: disc;" type="disc">
+    <li> 
+      <p>In a page flow class, you can use the <span 
class="langinline">@Jpf.Catch</span> 
+        annotation with, or without, the <span 
class="langinline">@jpf:exception-handler</span> 
+        annotation. If you use <span class="langinline">@Jpf.Catch</span> 
without 
+        <span class="langinline">@jpf:exception-handler</span> in the page 
flow, 
+        you can only catch errors and take action such as forwarding to a 
generic 
+        errors.jsp page. For example:</p>
+      <pre>
+/**
+ * @jpf:action
+ * @jpf:forward name=&quot;readyForNextCandidate&quot; 
path=&quot;name.jsp&quot;
+ * @Jpf.Catch type=&quot;com.acme.WorkflowException&quot; 
path=&quot;errors.jsp&quot;
+*/
+public Forward confirmationPage_hire(HireForm form)
+throws Exception
+{
+    hiringService.hire(firstName, lastName, title, startDate);
+    .
+    .
+&nbsp;   .</pre>
+    </li>
+  </ul>
+</div>
+<ul>
+  <li>
+    <div> Note that <span class="langinline">@Jpf.Catch</span> annotations 
<strong>cannot</strong> 
+      be used to catch exceptions on exception-handler methods. The following 
+      code is invalid and results in a compilation error: </div>
+  </li>
+</ul>
+<blockquote> 
+  <div> </div>
+  <div> 
+    <pre>
+       /**
+        * Invalid code:
+        * @jpf:exception-handler
+        * @Jpf.Catch type=&quot;Exception&quot; path=&quot;foo.jsp&quot; 
+        */
+       public Forward bad( Exception e, String msg, String msgKey, ActionForm 
form )   
+</pre>
+  </div>
+</blockquote>
+<div>
+  <p>For information about using the <span 
class="langinline">@Jpf.Catch</span> 
+    and <span class="langinline">@jpf:exception-handler</span> annotations 
together, 
+    to both catch and handle exceptions, see <a 
href="exception-handler.html">@jpf:exception-handler 
+    annotation</a>. Also see <a 
href="../../guide/netui/guide/conHandlingExceptions.html">Handling 
+    Exceptions in Page Flows.</a></p>
+  <p class="relatedtopics">Related Topics</p>
+  <p><a href="exception-handler.html">@jpf:exception-handler Annotation</a></p>
+  <p><a href="../../guide/netui/guide/conHandlingExceptions.html">Handling 
Exceptions 
+    in Page Flows</a></p>
+  <p><a href="action.html">@jpf:action Annotation</a></p>
+  <p><a href="controller.html">@jpf:controller Annotation</a></p>
+  <p><a href="forward.html">@jpf:forward Annotation</a></p>
+  <p><a href="message-resources.html">@jpf:message-resources Annotation</a></p>
+  <p><a href="validation-error-forward.html">@jpf:validation-error-forward 
Annotation</a></p>
+  <p><a href="../../guide/netui/guide/conGettingStartedPageFlows.html">Getting 
+    Started with Page Flows</a></p>
+  <p>&nbsp;</p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+<!-- InstanceEnd --></html>

Added: incubator/beehive/trunk/netui/docs/guide/reference/jpf/controller.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/docs/guide/reference/jpf/controller.html      
Thu Aug 19 12:54:31 2004
@@ -0,0 +1,176 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Tag.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>@Jpf.Controller Annotation</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="Workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content="@jpf:controller annotation reference">
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content="JPF controller reference nested login required 
roles allowed struts merge">
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" --> 
+<div id="topictitle"> 
+  <h1 class="Title">@Jpf.Controller Annotation</h1>
+</div>
+<div id="topictext">
+  <p>You can use the <span class="langinline">@Jpf.Controller</span> annotation
+  at the class-level only to designate the following characteristics of the 
page
+  flow:
+  <ul style="list-style: disc;" type="disc">
+    <li>Is this page flow &quot;nested,&quot; meaning, can control return to 
the
+      calling page flow after this page flow completes its work?
+    <li>Is the use of this page flow limited to logged-in users? 
+    <li>Is the use of this page flow limited to logged-in users who are
+      associated with a J2EE role, as defined in the application's web.xml 
file?
+    <li>Will a Struts configuration file be merged with the page flow's
+      configuration file?
+  </ul>
+</div>
+<div id="topictext">
+  <p class="notepara"><strong>Note:</strong> At the class level, you have the 
+    option of also using a <a href="catch.html">@jpf:catch annotation</a>, a 
global 
+    <a href="forward.html">@jpf:forward annotation</a>, or both. These 
annotations 
+    may be used at the class level, with or without a @Jpf.Controller 
annotation.</p>
+</div>
+<div>
+  <h2>Syntax</h2>
+  <p class="syntax">@Jpf.Controller</p>
+  <p class="syntaxindent">[ nested = &quot;true | false&quot; ]</p>
+  <p class="syntaxindent">[ login-required = &quot;true | false&quot; ]</p>
+  <p class="syntaxindent">[ roles-allowed = &quot;&lt;J2EE-role-name&gt; [ ,
+  &lt;J2EE-role-name&gt; ] &quot; ]</p>
+  <p class="syntaxindent">[ struts-merge = &quot;&lt;Struts-file&gt;.xml&quot; 
]</p>
+  <h2>Attributes</h2>
+  <p class="attribute"><a name="nested"></a>nested</p>
+  <p class="partdesc">Optional. A boolean that indicates whether this is a
+  nested page flow that can be called from another page flow. If the <span 
class="langinline">@Jpf.Controller</span>
+  annotation is used, but the <span class="langinline">nested </span>attribute
+  is not, the default is <span 
class="langinline">nested=&quot;false&quot;</span>.</p>
+  <p class="attribute"><a name="login-required" 
id="login-required"></a>login-required</p>
+  <p class="partdesc">Optional. A boolean that indicates whether the user must 
+    be logged-in to use this page flow. If the <span 
class="langinline">@Jpf.Controller</span> 
+    annotation is used, but both the <span 
class="langinline">login-required</span> 
+    and <span class="langinline">roles-allowed</span> attributes are not used, 
+    the default is <span 
class="langinline">login-required=&quot;false&quot;</span>.&nbsp; 
+    However, if only the <span class="langinline">roles-allowed</span> 
attribute 
+    is used, then <span 
class="langinline">login-required=&quot;true&quot;</span> 
+    is implied.</p>
+  <p class="partdesc">The JPF compiler will issue an error if you use both the 
<span class="langinline">roles-allowed</span>
+  attribute and the <span class="langinline">login-required</span> 
attribute.</p>
+  <p class="attribute"><a name="roles-allowed" 
id="roles-allowed"></a>roles-allowed</p>
+  <p class="partdesc">Optional. Specifies the name of one or more J2EE roles
+  that are defined in the web project's <span 
class="filepath">/WEB-INF/web.xml</span>
+  file. If more than one J2EE role name is specified, use a comma to separate
+  each name. If defined, the use of all action methods in this page flow is
+  limited to users who are associated with the specified role(s). Note that
+  users who are granted the roles specified may access all methods in the page
+  flow, regardless of any further role restrictions applied to individual
+  methods by the <span class="langinline">@jpf:action</span> annotation.</p>
+  <p class="partdesc">You can, optionally, also use the <span 
class="langinline">@jpf:action</span>
+  annotation to <strong>add</strong> to the authorized role(s) that are 
declared
+  at the class-level by <span class="langinline">@Jpf.Controller.</span> The
+  method-level <span class="langinline">@jpf:action</span> annotation also has 
a
+  <span class="langinline">roles-allowed</span> attribute. For more 
information,
+  see <a href="Action.html">@jpf:action annotation.</a></p>
+  <p class="attribute"><a name="struts-merge" 
id="struts-merge"></a>struts-merge</p>
+  <p class="partdesc">Optional. Specifies a standard Struts configuration XML
+  file that you want the WebLogic Workshop compiler to merge into the generated
+  configuration file for the page flow: <span 
class="langinline">/WEB-INF/jpf-struts-&lt;pageflow-name&gt;.xml</span>.
+  The Struts XML file, by convention, should reside in the web project's
+  /WEB-INF directory. After the compilation step that creates the merged <span 
class="langinline">/WEB-INF/jpf-struts-&lt;pageflow-name&gt;.xml</span>,
+  functionality that was enabled by the Struts configuration is available to 
the
+  page flow controller.</p>
+  <p class="partdesc">The purpose of the &quot;Struts Merge&quot; feature is to
+  enable you to override page flow defaults, or to specify settings for the 
page
+  flow that are not provided by page flow annotations or their attributes. The
+  Struts merge files should typically be small and only modify the page flow 
and
+  its actions and form beans. You can also add Struts tags that are not
+  supported by page flows, such as the <span 
class="langinline">&lt;plug-in&gt;</span>
+  tag. While you could, for example, add action mappings in the Struts merge
+  file, BEA does not recommend this practice. Struts action mappings should be
+  declared in the page flow's .jpf file with <span 
class="langinline">@jpf</span>
+  annotations, and then (if necessary) modified with the Struts merge file. For
+  details, see <a href="../../guide/netui/guide/conStrutsMerge.html">Merging
+  Struts Artifacts Into Page Flows.</a></p>
+  <h2>Remarks</h2>
+  <p>The following rules apply to this annotation's use:</p>
+  <ul style="list-style: disc;" type="disc">
+    <li>
+      <p>The <span class="langinline">@Jpf.Controller</span> annotation is 
optional 
+        and can be used only to qualify the page flow class. This annotation 
cannot 
+        be used on a method within the page flow class.</p>
+    </li>
+    <li>A nested page flow is useful when you want to perform some processing
+      and then return (with or without the results) to the calling page flow.
+      For example, a vacation scheduling page flow could call a nested page 
flow
+      that lists the company holidays. After the companyHolidays page flow is
+      used, a method that exists in the nested page flow could return the user
+      to the calling vacationScheduling page flow.</li>
+    <li>
+      <p>The <span class="langinline">roles-allowed</span> attribute on this 
@Jpf.Controller 
+        annotation lets you limit access to this page flow's action methods to 
+        users who are associated with the security role. This, in turn, limits 
+        access from the current context to the web resource that would be 
loaded 
+        as a result of the action.&nbsp; Again, you can add to the authorized 
+        role(s) declared at the class-level with @Jpf.Controller by using the 
+        <span class="langinline">roles-allowed</span> attribute on a 
method-level 
+        <a href="action.html">@jpf:action annotation</a>.</p>
+    </li>
+    <li>
+      <p>Note that the following IDE menu option defines a new security role in
+      the <strong>application's</strong> <span 
class="langinline">/META-INF/application.xml</span>
+      file:</p>
+      <p>Tools &gt; Security &gt; Create New Security Role...</p>
+      <p>However, <span class="langinline">/META-INF/application.xml </span>is
+      not the XML file that is used for the page flow scoped roles-allowed 
checking.
+      Enter any security roles in the web project's web.xml file, and associate
+      principals with the role name in the web project's weblogic.xml file. For
+      more information, see the <a 
href="../../guide/security/role-based/navRoleBasedSecurity.html">Role-Based
+      Security</a>.</p>
+    </li>
+  </ul>
+  <p class="relatedtopics">Related Topics</p>
+  <p><a href="action.html">@jpf:action Annotation</a></p>
+  <p><a href="catch.html">@jpf:catch Annotation</a></p>
+  <p><a href="forward.html">@jpf:forward Annotation</a></p>
+  <p><a href="exception-handler.html">@jpf:exception-handler Annotation</a></p>
+  <p><a href="message-resources.html">@jpf:message-resources Annotation</a></p>
+  <p><a href="validation-error-forward.html">@jpf:validation-error-forward 
Annotation</a></p>
+  <p><a href="../../guide/netui/guide/conGettingStartedPageFlows.html">Getting
+  Started with Page Flows</a></p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+<!-- InstanceEnd --></html>

Added: 
incubator/beehive/trunk/netui/docs/guide/reference/jpf/exception-handler.html
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/docs/guide/reference/jpf/exception-handler.html   
    Thu Aug 19 12:54:31 2004
@@ -0,0 +1,156 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Tag.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>@Jpf.ExceptionHandler Annotation</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<meta name="component" content="Workshop">
+<meta name="description" content="@jpf:ExceptionHandler Annotation reference 
for page flows">
+<meta name="keywords" content="@jpf:ExceptionHandler annotation reference 
exception handling page flows">
+<meta name="date last modified" content="05/06/03">
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" --> 
+<div id="topictitle">
+  <h1 class="Title">@Jpf.ExceptionHandler Annotation</h1>
+</div>
+<div id="topictext"> 
+  <p>You can use the <span class="langinline">@Jpf.ExceptionHandler</span> 
annotation 
+    to mark an error handler method that is specified by a <span 
class="langinline">@jpf:catch 
+    </span>annotation in a page flow. Without a <span 
class="langinline">@Jpf.ExceptionHandler</span> 
+    annotation, the page flow runtime will not route exceptions to an error 
handler 
+    method.</p>
+  <p>For more information about using this annotation, see <a 
href="../../guide/netui/guide/conHandlingExceptions.html">Handling
+  Exceptions in Page Flows.</a></p>
+  <h2>Syntax</h2>
+  <p class="syntax">@Jpf.ExceptionHandler</p>
+  <p class="syntaxindent"> [ read-only = &quot;{ true | false }&quot; ]</p>
+  <p class="syntaxindent">&nbsp;</p>
+  <h2>Attributes</h2>
+  <p class="attribute"><a name="read-only" id="read-only"></a>read-only</p>
+  <p class="partdesc">Optional. The default is <span 
class="langinline">read-only=&quot;false&quot;</span>. 
+    Use this attribute to indicate your intention that this method 
<nobr><strong>will 
+    not</strong></nobr> update any member data in the page flow. In a WebLogic 
+    cluster environment, this designation causes WebLogic Workshop to skip any 
+    attempted failover of the pageflow after the action is run. This option 
may 
+    allow you to increase the performance of the page flow in cluster 
environments, 
+    by making it unnecessary for WebLogic Workshop to communicate portions of 
+    this page flow's state data across the nodes in the cluster that pertain 
to 
+    the read-only actions.</p>
+</div>
+<div> 
+  <h2>Remarks</h2>
+  <p>The following rules apply to this annotation's use:</p>
+  <ul style="list-style: disc;" type="disc">
+    <li>The <span class="langinline">@Jpf.ExceptionHandler</span> annotation 
+      must be used with a <span class="langinline">@jpf:catch</span> 
annotation. 
+      For example: 
+      <pre>
+  package login2;
+         
+  import com.bea.wlw.netui.pageflow.PageFlowController;
+  import com.bea.wlw.netui.pageflow.Forward;
+  import com.bea.wlw.netui.pageflow.FormData;
+  import javax.servlet.http.HttpServletRequest;
+<strong>  import javax.security.auth.login.FailedLoginException;</strong>
+         
+   /**
+    * @jpf:controller nested=&quot;true&quot;
+    */
+       public class Login extends PageFlowController
+       {
+       public String userName;
+    /**
+     * @jpf:action
+     * @jpf:forward name=&quot;success&quot; path=&quot;LoginSuccess.jsp&quot;
+<strong>     * @jpf:catch type=&quot;FailedLoginException&quot; 
method=&quot;failedLogin&quot;</strong>
+     */
+    protected Forward loginSubmit( LoginForm loginForm )
+        throws Exception
+    {
+        login( loginForm.getUsername(), loginForm.getPassword() );
+        userName = loginForm.getUsername();
+        return new Forward( &quot;success&quot;, loginForm );
+    }
+
+    /**
+<strong>     * @Jpf.ExceptionHandler</strong>
+     * @jpf:forward name=&quot;loginPage&quot; path=&quot;Login.jsp&quot;
+     */
+<strong>    protected Forward failedLogin( FailedLoginException ex, String 
actionName,
+                                   String message, FormData form )</strong>
+    {
+        LoginForm loginForm = ( LoginForm ) form;
+        loginForm.setMessage( &quot;Login incorrect.  Do you need to create an 
account?&quot; );
+        return new Forward( &quot;loginPage&quot; );
+    }
+       .
+       .
+       .</pre>
+    </li>
+  </ul>
+</div>
+<ul>
+  <li>
+    <div> Note that <span class="langinline">@jpf:catch</span> annotations 
cannot 
+      be used to catch exceptions on ExceptionHandler methods. The following 
+      code is invalid and results in a compilation error: </div>
+  </li>
+</ul>
+<blockquote> 
+  <div> 
+    <pre>
+       /**
+        * Invalid code:
+        * @Jpf.ExceptionHandler 
+        * @jpf:catch type=&quot;Exception&quot; path=&quot;foo.jsp&quot; 
+        */ 
+       public Forward bad( Exception e, String msg, String msgKey, ActionForm 
form )
+       </pre>
+  </div>
+</blockquote>
+<div>
+  <p class="relatedtopics">Related Topics</p>
+  <p><a href="catch.html">@jpf:catch Annotation</a></p>
+  <p><a href="../../guide/netui/guide/conHandlingExceptions.html">Handling
+  Exceptions in Page Flows</a></p>
+  <p><a href="action.html">@jpf:action Annotation</a></p>
+  <p><a href="controller.html">@jpf:controller Annotation</a></p>
+  <p><a href="forward.html">@jpf:forward Annotation</a></p>
+  <p><a href="message-resources.html">@jpf:message-resources Annotation</a></p>
+  <p><a href="validation-error-forward.html">@jpf:validation-error-forward 
Annotation</a></p>
+  <p><a href="../../guide/netui/guide/conGettingStartedPageFlows.html">Getting
+  Started with Page Flows</a></p>
+  <p>&nbsp;</p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+<!-- InstanceEnd --></html>

Added: incubator/beehive/trunk/netui/docs/guide/reference/jpf/forward.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/docs/guide/reference/jpf/forward.html Thu Aug 
19 12:54:31 2004
@@ -0,0 +1,370 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Tag.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>@Jpf.Forward Annotation</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<meta name="component" content="Workshop">
+<meta name="description" content="@jpf:forward annotation reference">
+<meta name="keywords" content="@jpf:forward forward annotation reference 
return-action return-form redirect return-to overload overloaded action">
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" --> 
+<div id="topictitle"> 
+  <h1 class="Title">@Jpf.Forward Annotation</h1>
+</div>
+<div id="topictext"> 
+  <p>You can use the <span class="langinline">@Jpf.Forward</span> annotation 
to 
+    describe the location the page flow runtime should go to next. The 
location 
+    may be a JSP, a page flow, a specific page flow action, or an external 
URL. 
+    This annotation may be used on action methods and the page flow class, and 
+    in the /WEB-INF/src/global/Global.app. Using the @Jpf.Forward at the class 
+    level results in a global forward that can be used by any action method in 
+    the page flow class.</p>
+  <p>The Remarks section includes a discussion about what happens if you use 
<a href="#overloaded">overloaded 
+    actions</a>. Also, the Remarks section contains a description about the 
behavior 
+    seen when you forward directly from one action to another, and the effects 
+    of <a href="#scoping">form scoping</a>. </p>
+</div>
+<div> 
+  <h2>Syntax</h2>
+  <p class="syntax">@Jpf.Forward</p>
+  <p class="syntaxindent">name = &quot;&lt;forward name&gt;&quot;</p>
+  <p class="syntaxindent">{ path = &quot;&lt;path&gt;&quot;&nbsp; |&nbsp; 
return-action 
+    = &quot;&lt;action name&gt;&quot;&nbsp;|&nbsp; return-to = 
{&quot;currentPage&quot; 
+    | &quot;previousPage&quot; | &quot;previousAction&quot;}&nbsp; }</p>
+  <p class="syntaxindent">{ return-form = &quot;&lt;form name&gt;&quot; | 
&nbsp;return-form-type 
+    = &quot;&lt;form type&gt;&quot;&nbsp; }</p>
+  <p class="syntaxindent">[ redirect = { &quot;true&quot; | &quot;false&quot; 
+    } ]</p>
+  <h2>Attributes</h2>
+  <div id="topictext"> 
+    <p class="attribute"><a name="name"></a>name</p>
+    <p class="partdesc">Required. Specifies the name of the forward, which 
causes 
+      the navigation to occur. Note that <span 
class="langinline">@Jpf.Forward</span> 
+      names on exception-handlers can conflict with <span 
class="langinline">@Jpf.Forward</span> 
+      names on actions and at the class level. The <span 
class="langinline">@Jpf.Forward</span> 
+      names that you specify must be unique in the page flow.</p>
+    <p><strong>You must specify only one of the following: the <span 
class="langinline">path</span>, 
+      <span class="langinline">return-to</span>, or the <span 
class="langinline">return-action</span> 
+      attributes.</strong></p>
+    <p class="attribute"><a name="path"></a>path</p>
+    <p class="partdesc"> The <span class="langinline">path</span> attribute is 
+      a string that maps to one of the following entities:</p>
+  </div>
+  <ul>
+    <li> 
+      <div class="partdesc"> A JSP or another page flow in this web 
application 
+      </div>
+    </li>
+    <li> 
+      <div class="partdesc"> An action within a page flow in this web 
application 
+      </div>
+    </li>
+    <li> 
+      <div class="partdesc"> A resource somewhere on the web, in this web 
application 
+        or a different web application. </div>
+    </li>
+  </ul>
+</div>
+<blockquote> 
+  <p>If the path begins with a protocol such as &quot;http:&quot; the page 
flow 
+    runtime will look outside of this web application for the resource, and it 
+    will automatically cause a redirect (rather than a server forward) to the 
+    resource. If the path begins with a forward slash, &quot;/&quot;, the 
runtime 
+    will start at the web application's root directory to locate the resource. 
+    If the path omits the forward slash, &quot;/&quot;, the reference is 
relative 
+    to the page flow's directory.</p>
+</blockquote>
+<p class="attribute"><a name="return-to" id="return-to"></a>return-to</p>
+<p class="partdesc">The return-to attribute always applies to the current page 
+  flow, whether it is a nested page flow or the main page flow. To return to 
an 
+  action in the &#8220;nesting&#8221; page flow use the return-action 
attribute.</p>
+<p class="partdesc">The value for the <span 
class="langinline">return-to</span> 
+  attribute must be a keyword, either <span 
class="langinline">&quot;currentPage&quot;, 
+  </span> or <span class="langinline">&quot;previousPage&quot;,</span> or 
<span class="langinline">&quot;previousAction&quot;. 
+  </span></p>
+<p class="notepara"><strong>Note:</strong> To clarify the purpose of the <span 
class="langinline">return-to</span> 
+  attribute, the keywords <span class="langinline">&quot;page&quot;</span> and 
+  <span class="langinline">&quot;action&quot;</span> were deprecated as of 
WebLogic 
+  Workshop 8.1 Service Pack 2. Instead of <span 
class="langinline">&quot;page&quot;</span>, 
+  the equivalent function is <span 
class="langinline">&quot;previousPage&quot;</span>. 
+  Instead of <span class="langinline">&quot;action&quot;</span>, the 
equivalent 
+  function is <span class="langinline">&quot;previousAction&quot;</span>. </p>
+<p class="partdesc"> If the value is <span 
class="langinline">&quot;currentPage&quot;</span>, 
+  the same JSP page is rendered again by the server, along with any updated 
data 
+  that occurred as a result of executing the annotated action method. </p>
+<p class="notepara">If the value is <span class="notepara">&quot;</span><span 
class="langinline">previousPage</span><span class="notepara">&quot;</span>, 
+  the page that was shown before the current page is rendered. </p>
+<p class="notepara">If the value is <span 
class="langinline">&quot;previousAction&quot;</span>, 
+  the previous action in the current page flow is run. </p>
+<p class="attribute"><a name="return-action"></a>return-action</p>
+<p class="partdesc">The return-action attribute, which is only valid in a 
<strong>nested</strong> 
+  page flow, causes control to return to the calling (or &quot;nesting&quot;) 
+  page flow (leaving the current page flow), and then causes the specified 
action 
+  to be raised on the calling page flow. </p>
+<blockquote> 
+  <p class="attribute"><a name="return-form"></a>return-form</p>
+  <p class="partdesc">Optional. The return-form attribute, which is only valid 
+    when used with the return-action attribute, causes the given page flow 
member 
+    variable to be attached to the returned Forward automatically.</p>
+  <p class="attribute"><a name="return-form-type" 
id="return-form-type"></a>return-form-type</p>
+  <p class="partdesc">Optional. The return-form-type attribute, which is only 
+    valid when used with the return-action attribute, is used in conjunction 
with 
+    the Forward that is returned. Forward takes the actual FormData instance 
as 
+    the second argument to its constructor. This attribute declares the type 
of 
+    the form bean that will be returned to the calling page flow.</p>
+</blockquote>
+<p class="notepara"><strong>Note:</strong> If multiple actions with the same 
name 
+  (such as &quot;success&quot;) exist in the calling page flow, either the 
return-form-type 
+  value or the return-form member variable type will be used to determine the 
+  appropriate action.</p>
+<p class="attribute"><a name="redirect"></a>redirect</p>
+<p class="partdesc">Optional. A boolean, <span class="langinline">true</span> 
+  or <span class="langinline">false</span>. Default is <span 
class="langinline">false</span>. 
+  When set to <span class="langinline">true</span>, navigation causes a 
browser 
+  redirect to the specified destination. Redirecting is useful when you want 
to 
+  clear out any data that was attached to a request, or when it is important 
that 
+  the user's URL bar reflect the actual page that is displayed (instead of the 
+  action name). For details, see the <a href="#remarks">Remarks</a> 
section.</p>
+<div id="topictext"> 
+  <h2>Action Method Signatures</h2>
+  <p>An action method has several possible signatures. One signature takes no 
+    parameters. For example:</p>
+  <p><font face="Courier New, Courier, mono">public Forward 
shopping()</font></p>
+  <p>The second type of signature uses a form. For example:</p>
+  <p><font face="Courier New, Courier, mono">public Forward 
shopping(CheckoutForm 
+    form)</font></p>
+  <p>The form bean is a class that extends <span 
class="langinline">com.bea.wlw.netui.pageflow.FormData</span>. 
+    You can define the form bean as an inner class within the page flow class, 
+    or separately in the web project.</p>
+  <p>If you are using the <a 
href="../../taglib/www.bea.com/workshop/netui-tags-databinding-1.0/declarePageInput.html">&lt;netui-data:declarePageInput>
 
+    tag</a> in your JSP, you may use a third type of signature, where you 
return 
+    a new Forward that contains three parameters. For example:</p>
+  <pre> /**
+  * @jpf:action
+  * @Jpf.Forward name=&quot;success&quot; path=&quot;next.jsp&quot;
+  */
+  public Forward next()
+      throws SQLException
+  {
+      Item[] items = itemsDB.getAllItems();
+      return new Forward(&quot;success&quot;, &quot;items&quot;, items);
+  } </pre>
+  <p>In the new Forward, the parameters in <span class="langinline">new 
Forward(&quot;success&quot;, 
+    &quot;items&quot;, items)</span> for this example are as follows:</p>
+</div>
+<ul>
+  <li> 
+    <div><span class="langinline">&quot;success&quot;</span> is the Forward 
name, 
+      and its value matches the <span class="langinline">name</span> 
attribute's 
+      value on the @Jpf.Forward annotation. This match causes navigation to 
the 
+      next.jsp page when the action is run. </div>
+  </li>
+  <li> 
+    <div><span class="langinline">&quot;items&quot;</span> is the name of the 
+      page input, as defined in a JSP that is part of this page flow. </div>
+  </li>
+  <li> 
+    <div><span class="langinline">items</span> is the name of the actual 
object 
+      from which data will be obtained. In this case, <span 
class="langinline">items</span> 
+      is a table referenced by a database control called by the page flow. For 
+      more information, see the <a 
href="../../guide/netui/samples/tagSamples/netui_databinding/samDeclarePageInputTag.html">&lt;netui-data:declarePageInput&gt;
 
+      Tag Sample</a>. </div>
+  </li>
+</ul>
+<p>If you need to add more than one page input, you can first create the 
Forward 
+  object and then call its <span class="langinline">addPageInput</span> 
method. 
+  For example:</p>
+<pre> /**
+  * @jpf:action
+  * @Jpf.Forward name=&quot;success&quot; path=&quot;next.jsp&quot;
+  */
+  public Forward next()
+      throws SQLException
+  {
+      Forward fwd = new Forward(&quot;success&quot;);
+      fwd.addPageInput(&quot;products&quot;, productsDB.getAllProducts());
+      fwd.addPageInput( &quot;items&quot;, itemsDB.getAllItems());
+      return fwd;
+  }</pre>
+<h2><a name="remarks"></a> Remarks</h2>
+<p>The following rules apply to this annotation's use:</p>
+<ul>
+  <li>Optionally, you can add a @jpf:catch annotation for exception 
handling.</li>
+  <li>The forward's name and its capitalization <strong>must match 
exactly</strong> 
+    in the @Jpf.Forward annotation and in the return argument of a Forward 
object. 
+    For example: 
+    <pre>
+/**
+ * @jpf:action
+ * @Jpf.Forward name=&quot;<strong>goShopping</strong>&quot; 
path=&quot;cart.jsp&quot;
+ */
+ public Forward shopping()
+ { return new Forward( &quot;<strong>goShopping</strong>&quot; );</pre>
+    Also note that <span class="langinline">@Jpf.Forward</span> names on 
exception-handlers 
+    can conflict with <span class="langinline">@Jpf.Forward</span> names on 
actions 
+    and at the class level. The <span class="langinline">@Jpf.Forward</span> 
names 
+    that you specify must be unique in the page flow.</li>
+  <li>You could pass a <span class="langinline">FormData</span> instance as 
the 
+    second argument to the Forward constructor, which has to take a <span 
class="langinline">@Jpf.Forward</span> 
+    <b>name</b> as its first argument. For example: 
+    <pre>
+    /**
+     * @jpf:action
+     * @Jpf.Forward name=&quot;success&quot; path=&quot;DonePage.jsp&quot;
+     */
+    protected Forward PrefsPageSubmit( PrefsForm form )
+    {
+        userInfo.setFavColor( form.getFavColor() );
+        DoneForm doneForm = new DoneForm();
+        doneForm.setUsername( userInfo.getUsername() );
+        doneForm.setPassword( userInfo.getPassword() );
+        doneForm.setFavColor( userInfo.getFavColor() );
+        return new Forward( &quot;success&quot;, doneForm );
+    }</pre>
+  </li>
+  <li> You can use the @Jpf.Forward as a class-level annotation, resulting in 
+    a global forward for the page flow. A global forward is useful for pages 
that 
+    are often forwarded to, such as error pages. When you use a global 
forward, 
+    you do not have to define the forward on every action method. For example: 
+    <pre> 
+/** 
+  * @Jpf.Forward name=&quot;errorPage&quot; path=&quot;error.jsp&quot;        
+  */ 
+  public class WelcomeFlow extends PageFlowController 
+  { 
+  &nbsp;&nbsp;&nbsp; ... 
+       
+      /** 
+       * @jpf:action 
+       */ 
+       protected Forward loginSubmit( LoginForm loginForm ) 
+       { 
+           if ( userManagerBusinessControl.isOutOfService() ) 
+ &nbsp;&nbsp;&nbsp;&nbsp;      { 
+                return new Forward( &quot;errorPage&quot; ); 
+  &nbsp;&nbsp;&nbsp;      } 
+           else 
+ &nbsp;&nbsp;&nbsp;&nbsp;      { 
+                ... 
+ &nbsp;&nbsp;&nbsp;&nbsp;      } 
+       } 
+  }</pre>
+  </li>
+  <li><a name="overloaded"></a>If your page flow uses overloaded actions, you 
+    must be aware of the run-time behavior to avoid unintended results. Here 
are 
+    the rules when an action forwards to an overloaded action: 
+    <ul>
+      <li> The choice of overload is determined strictly by the form that was 
+        passed in the Forward object. If there was no form passed in the 
Forward, 
+        the action with no form is used. </li>
+      <li>If you do not put a form on a Forward object, then there must be an 
+        action that takes no form; otherwise, it will fail.</li>
+      <li> If a nested page flow returns, the choice of overload is determined 
+        strictly by the <span class="langinline">return-form</span> or <span 
class="langinline">return-form-type</span> 
+        attributes on the returning <span 
class="langinline">@Jpf.Forward</span> 
+        in the nested page flow. If neither of these attributes are present, 
the 
+        choice of overload is determined strictly by the form that was passed 
+        in the Forward.</li>
+      <li>If a page raises an action, the overload without a form will be 
chosen 
+        first. If all overloads take a form, then it will choose the one whose 
+        full classname comes first alphabetically.</li>
+    </ul>
+  <li><a name="scoping"></a>By default, an instance of a Form Bean passed to 
an 
+    action method is scoped to the <span class="langinline">request</span>. 
You 
+    can alternatively scope a Form Bean instance to the life of the Controller 
+    file. For information about pageflow-scoped forms, see the Remarks section 
+    of the <a href="Action.html">@jpf:action Annotation</a> topic and the help 
+    topic <a 
href="../../guide/netui/guide/conReqScopedVsPageScopedBean.html">Form 
+    Bean Scopings</a>. If you merge in Struts actions, you can scope a Form 
Bean 
+    instance to the <span class="langinline">session</span> object, as 
explained 
+    in <a href="../../guide/netui/guide/conStrutsMerge.html">Merging Struts 
Artifacts 
+    Into Page Flows</a>. 
+    <p>The following list describes advanced behavior that is important to 
know 
+      only for cases when you are forwarding between two actions. This 
presents 
+      scenarios when action A forwards to action B:</p>
+    <ul>
+      <li>If A is pageflow-scoped and B is not, B gets a new instance of the 
Form 
+        Bean. </li>
+      <li>If A is pageflow-scoped and B is not, <strong>and</strong> if A 
explicitly 
+        passes its Form Bean on the Forward to B, B will use A's instance of 
the 
+        Form Bean (the member variable).</li>
+      <li>If A is not pageflow-scoped and B is pageflow-scoped, B will not use 
+        the Form Bean instance that A created. </li>
+      <li>If A is not pageflow-scoped and B is pageflow-scoped, 
<strong>and</strong> 
+        if A explicitly passes its Form Bean instance on the Forward to B, B 
will 
+        not only use A's Form Bean instance, but the member variable will be 
set 
+        to the instance that A passed. </li>
+      <li>If A is pageflow-scoped and B is pageflow-scoped, then B will use 
A's 
+        Form Bean instance (the member variable).</li>
+    </ul>
+  </li>
+  <li>When an action method causes navigation to a page, it forwards the 
request 
+    to the URL for that page. Any attributes that were attached to the 
original 
+    request are available for the next page to use. This means that the user 
can 
+    send a request for an action, such as &quot;<span 
class="langinline">GoToLogin.do</span>&quot;. 
+    The page flow can attach data to the request and forward to a page, such 
as 
+    &quot;<span class="langinline">login.jsp</span>&quot;, which is sent back 
+    to the browser. The user's URL address bar might read 
&quot;http://server/welcomeFlow/GoToLogin.do&quot;. 
+    However, the page displayed is actually 
&quot;http://server/welcomeFlow/login.jsp&quot;. 
+    <p>An alternative method of navigation is by using the redirect attribute 
+      in the <span class="langinline">@Jpf.Forward</span> annotation. In this 
+      case, the server can respond to the browser and tell it to navigate 
somewhere 
+      else. If the user requests (&quot;<span 
class="langinline">GoToLogin.do</span>&quot;), 
+      the page flow could redirect to &quot;<span 
class="langinline">login.jsp</span>&quot;, 
+      which would cause the browser to navigate directly to 
&quot;http://server/welcomeFlow/login.jsp&quot;. 
+      The latter URL is shown in the user's URL bar. Thus the redirect 
attribute 
+      is useful for two scenarios:</p>
+  </li>
+</ul>
+<ul>
+  <ul>
+    <li class="bulletindent2">When you want to clear out any data that was 
attached 
+      to a request.</li>
+    <li class="bulletindent2">When it is important that the user's URL bar 
reflect 
+      the actual page that is displayed.</li>
+  </ul>
+</ul>
+<p class="listplain">&nbsp;</p>
+<p class="relatedtopics">Related Topics</p>
+<p><a href="action.html">@jpf:action Annotation</a></p>
+<p><a href="catch.html">@jpf:catch Annotation</a></p>
+<p><a href="controller.html">@jpf:controller Annotation</a></p>
+<p><a href="exception-handler.html">@jpf:exception-handler Annotation</a></p>
+<p><a href="message-resources.html">@jpf:message-resources Annotation</a></p>
+<p><a href="validation-error-forward.html">@jpf:validation-error-forward 
Annotation</a></p>
+<p><a href="../../guide/netui/guide/conReqScopedVsPageScopedBean.html">Form 
Bean 
+  Scopings</a></p>
+<p><a href="../../guide/netui/samples/samDataFlow.html">Data Flow 
Sample</a></p>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+<!-- InstanceEnd --></html>

Added: 
incubator/beehive/trunk/netui/docs/guide/reference/jpf/message-resources.html
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/docs/guide/reference/jpf/message-resources.html   
    Thu Aug 19 12:54:31 2004
@@ -0,0 +1,123 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Tag.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>@Jpf.MessageResources Annotation</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="Workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content="@Jpf.MessageResources Annotation reference 
for page flows">
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content="@Jpf.MessageResources Annotation reference 
message resources validation page flows">
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" --> 
+<div id="topictitle">
+  <h1 class="Title">@Jpf.MessageResources Annotation</h1>
+</div>
+<div id="topictext">
+  <p>You can use the <span class="langinline">@Jpf.MessageResources</span> 
annotation 
+    at the page flow class level to specify a message bundle. Using message 
resources 
+    allows you to internationalize your web applications by <strong>not 
hard-coding</strong> 
+    labels in your JSP pages. For example, an ErrorMessages.properties 
resource 
+    file could contain messages to display when form validation errors 
occur.</p>
+  <h2>Syntax</h2>
+  <p class="syntax">@Jpf.MessageResources</p>
+  <p class="syntaxindent">resources = 
&quot;&lt;property-resources&gt;&quot;</p>
+  <p class="syntaxindent">[ key = &quot;&lt;bundle-key-name&gt;&quot; ]</p>
+  <h2>Attributes</h2>
+  <p class="attribute"><a name="resources" 
id="MessageResources"></a>resources</p>
+  <p class="partdesc">Required. A resource that contains message properties,
+  such as an Errors.properties file that you create separately and place in a
+  subfolder under the page flow's /WEB-INF/classes folder. For example:</p>
+  <p class="partdesc"><font face="Courier New, Courier, 
mono">@Jpf.MessageResources
+  resources=&quot;validation.ErrorMessages&quot;</font></p>
+  <p class="partdesc">The page flow runtime will look for the messages in a
+  subfolder of the web project's <span class="langinline">/WEB-INF</span>
+  folder, either:</p>
+</div>
+<ul>
+  <li>
+    <div class="partdesc">
+      /<span 
class="langinline">WEB-INF/classes/validation/ErrorMessages.properties</span>
+    </div>
+  </li>
+  <li>
+    <div class="partdesc">
+      Or in a JAR file in <span class="langinline">/WEB-INF/lib</span>
+    </div>
+  </li>
+</ul>
+<div>
+  <p class="attribute"><a name="key" id="MessageResources"></a>key</p>
+  <p class="partdesc">Optional. You can specify the name of the <span 
class="langinline">ServletContext</span>
+  attribute in which to store the Bundle read from the
+  &lt;property-resources&gt;. In most cases you can omit this attribute and
+  accept the default of <span 
class="langinline">org.apache.struts.Globals.MESSAGE_KEY</span>,
+  which works with the &lt;netui:error&gt; and &lt;netui:errors&gt; JSP tags
+  provided by WebLogic Workshop.</p>
+  <h2>Remarks</h2>
+  <p>The following rules apply to this annotation's use:</p>
+  <ul style="list-style: disc;" type="disc">
+    <li>
+      <p>The message property resource cannot reside in the WEB-INF/...
+      directory of another web project. The *.properties file must reside in a
+      /WEB-INF/classes/&lt;folder&gt;/ directory, or in a JAR in /WEB-INF/lib
+      (in a JAR), for this web project.</p>
+    </li>
+    <li>For a sample page flow that demonstrates form validation and the use of
+      the message properties, see the following page flow. Also see the
+      &lt;netui:error&gt; tag used in this sample page flow's JSP files.</li>
+    <p><font face="Courier New, Courier, 
mono">&lt;WEBLOGIC_HOME&gt;\samples\workshop\SamplesApp\WebApp\validation\Controller.jpf</font></p>
+    <li>For sample message properties files, see:</li>
+    <p><font face="Courier New, Courier, 
mono">&lt;WEBLOGIC_HOME&gt;\samples\workshop\SamplesApp\WebApp\WEB-INF\classes\validation\basic\Messages.properties</font></p>
+    <p>and:</p>
+    <p><font face="Courier New, Courier, 
mono">&lt;WEBLOGIC_HOME&gt;\samples\workshop\SamplesApp\WebApp\WEB-INF\classes\validation\validator\Messages.properties</font></p>
+  </ul>
+  <div>
+    <p class="relatedtopics">Related Topics</p>
+    
+  <p><a href="catch.html">@jpf:catch Annotation</a></p>
+    
+  <p><a href="controller.html">@jpf:controller Annotation</a></p>
+    
+  <p><a href="exception-handler.html">@jpf:exception-handler Annotation</a></p>
+    
+  <p><a href="forward.html">@jpf:forward Annotation</a></p>
+  <p><a href="validation-error-forward.html">@jpf:validation-error-forward 
Annotation</a></p>
+    <p><a 
href="../../guide/netui/guide/conGettingStartedPageFlows.html">Getting
+    Started with Page Flows</a></p>
+    <p>&nbsp;</p>
+  </div>
+  <!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+<!-- InstanceEnd --></html>

Added: 
incubator/beehive/trunk/netui/docs/guide/reference/jpf/navJpfAnnotations.html
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/docs/guide/reference/jpf/navJpfAnnotations.html   
    Thu Aug 19 12:54:31 2004
@@ -0,0 +1,99 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Navigational.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>Page Flow Annotations</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #3 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content>
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content>
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" --> 
+
+<div id="topictitle">
+  <h2 class="navtitle">Page Flow Annotations</h2>
+  <p class="navtitle">The page flow annotations used in web applications define
+  the behavior of the page flow controller class and its methods.</p>
+  <p class="navtitle"><a href="../../javadoc-tag/jpf/action.html">@jpf:action 
+    Annotation</a></p>
+  <p class="navdesc">Designates an action method. Optionally, this annotation 
+    may set login and J2EE role requirements. Without a <span 
class="langinline">@jpf:action</span> 
+    annotation, an action method will not be recognized by the page flow 
runtime 
+    as an action method. This annotation may be used at the method-level 
only.</p>
+  <p class="navtitle"><a href="../../javadoc-tag/jpf/catch.html">@jpf:catch 
Annotation</a></p>
+  <p class="navdesc">Provides information used by the page flow runtime to 
catch
+  exceptions and possibly route them to error handlers. This annotation may be
+  used on action methods and the page flow class, and in the global page flow
+  that resides in WEB-INF/src/global/Global.app.</p>
+  <p class="navtitle"><a 
href="../../javadoc-tag/jpf/controller.html">@Jpf.Controller 
+    Annotation</a></p>
+  <p class="navdesc">Indicates whether the page flow is nested; whether users
+  must be logged in; whether logged-in users must be associated with existing
+  J2EE roles; and whether a Struts XML configuration file should be merged into
+  the page flow. This annotation may be used at the page flow class level 
only.</p>
+  <p class="navtitle"><a 
href="../../javadoc-tag/jpf/exception-handler.html">@jpf:exception-handler 
+    Annotation</a></p>
+  <p class="navdesc">Designates an error handler method. Without a <span 
class="langinline">@jpf:exception-handler</span>
+  annotation, the page flow runtime will not recognize an error handler
+  method.&nbsp;</p>
+  <p class="navtitle"><a 
href="../../javadoc-tag/jpf/forward.html">@jpf:forward 
+    Annotation</a></p>
+  <p class="navdesc">Describes a location to which the page flow runtime should
+  go to next. The location may be a JSP, a page flow, or an action method. This
+  annotation may be used on action methods and the page flow class, and in the
+  global page flow that resides in WEB-INF/src/global/Global.app.</p>
+  <p class="navtitle"><a 
href="../../javadoc-tag/jpf/message-resources.html">@jpf:message-resources 
+    Annotation</a></p>
+  <p class="navdesc">Specifies a message bundle, allowing you to implement
+  validation in the page flow's form beans. This annotation may be used at the
+  page flow class level only.</p>
+  <p class="navtitle"><a 
href="../../javadoc-tag/jpf/validation-error-forward.html">@jpf:validation-error-forward
 
+    Annotation</a></p>
+  <p class="navdesc">Indicates which page should be loaded, or which action 
should 
+    be run, if a form validation error occurs as a result of running the 
annotated 
+    action. This annotation may be used at the method level only.</p>
+  <p class="navtitle"><a 
href="../../javadoc-tag/common/control.html">@common:control
+  Annotation</a></p>
+  <p class="navdesc">Indicates that a member variable in a page flow references
+  a WebLogic Workshop control, such as a control or a database control.</p>
+  <p class="relatedtopics">Related Topics</p>
+  <p><a 
href="../../guide/netui/guide/navGuidetoBuildingWebApplications.html">Guide
+  to Building Page Flows</a></p>
+  <p>&nbsp;</p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+
+<!-- InstanceEnd --></html>

Added: incubator/beehive/trunk/netui/docs/guide/reference/jpf/simple-action.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/docs/guide/reference/jpf/simple-action.html   
Thu Aug 19 12:54:31 2004
@@ -0,0 +1,62 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Tag.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>@Jpf.SimpleAction Annotation</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="Workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content="@jpf:action Annotation reference for page 
flows">
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content="@jpf:action Annotation reference page flows">
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" -->
+<div id="topictitle">
+  <h1 class="Title">@Jpf.SimpleAction Annotation</h1>
+</div>
+<div id="topictext"> 
+  <p>[tbd]</p>
+  <h2>Syntax</h2>
+  <p class="syntax">[tbd]&nbsp;</p>
+  <h2>Attributes</h2>
+  <p class="attribute"><a name="form" id="form"></a>[tbd]</p>
+  <h2><a name="remarks"></a>Remarks</h2>
+  <p>[tbd]</p>
+  <p class="relatedtopics">Related Topics</p>
+  <p><a href="catch.html">[tbd]</a><a 
href="../../guide/netui/guide/conReqScopedVsPageScopedBean.html"></a></p>
+  <h3>Samples</h3>
+  <p><a href="../../guide/netui/samples/samDataFlow.html">[tbd]</a></p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+<!-- InstanceEnd --></html>

Added: 
incubator/beehive/trunk/netui/docs/guide/reference/jpf/validation-error-forward.html
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/docs/guide/reference/jpf/validation-error-forward.html
        Thu Aug 19 12:54:31 2004
@@ -0,0 +1,285 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Tag.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>@jpf:action Annotation</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #2 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="Workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content="@Jpf.Validation-error-forward Annotation 
reference for page flows">
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content="@Jpf.Validation-error-forward form validation 
error forward Annotation reference page flows">
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../core/CookieClass.js"></script>
+<script language="JavaScript" src="../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" -->
+<div id="topictitle">
+  <h1 class="Title">@Jpf.Validation-error-forward Annotation</h1>
+</div>
+<div id="topictext">
+  <p>You can use the <span class="langinline">@Jpf.Validation-error-forward 
</span> 
+    annotation to indicate which page should be loaded, or which action should 
+    be run, if a form validation error occurs as a result of running the 
annotated 
+    action. </p>
+  <p class="notepara"><strong>Note:</strong> Starting in WebLogic Workshop 8.1 
+    Service Pack 2, this annotation replaces the deprecated <span 
class="langinline">validation-error-page</span> 
+    attribute that was available on the <span 
class="langinline">@jpf:action</span> 
+    annotation. The <span 
class="langinline">@Jpf.Validation-error-forward</span> 
+    annotation's attributes provide a more flexible validation forwarding 
behavior; 
+    specifically, they allow you to indicate <span 
class="langinline">return-to=&quot;...&quot;</span> 
+    options, and they allow forwarding to non-local files. </p>
+  <h2>Syntax</h2>
+  <p class="syntax">@Jpf.Validation-error-forward</p>
+  <p class="syntaxindent"> name = &quot;&lt;forward name&gt;&quot; </p>
+  <p class="syntaxindent">{ path = 
&quot;&lt;path&gt;&quot;&nbsp;&nbsp;|&nbsp;&nbsp;return-action 
+    = &quot;&lt;action name&gt;&quot;&nbsp;&nbsp;|&nbsp;&nbsp;return-to = 
{&quot;currentPage&quot; 
+    | &quot;previousPage&quot; | &quot;previousAction&quot;}&nbsp; }</p>
+  <p class="syntaxindent">{ return-form = &quot;&lt;form name&gt;&quot; | 
&nbsp;return-form-type 
+    = &quot;&lt;form type&gt;&quot;&nbsp; }</p>
+  <p class="syntaxindent">[ redirect = { &quot;true&quot; | &quot;false&quot; 
+    } ]</p>
+  <p class="syntaxindent">&nbsp;</p>
+  <h2>Attributes</h2>
+  <div id="topictext">
+    <div id="topictext">
+      <p class="attribute"><a name="name"></a>name</p>
+      <p class="partdesc">Required. Specifies the name of the forward, which 
causes 
+        the navigation to occur. </p>
+      <p class="attribute"><a name="path"></a>path</p>
+      <p class="partdesc">You must specify only one of the following: this 
<span class="langinline">path</span> 
+        attribute, or the <span class="langinline">return-action</span> 
attribute, 
+        or one of the <span class="langinline">return-to</span> 
attributes.&nbsp; 
+        The <span class="langinline">path</span> attribute is a string that 
maps 
+        to one of the following entities:</p>
+    </div>
+    <ul>
+      <li> 
+        <div class="partdesc"> A JSP or another page flow in this web 
application 
+        </div>
+      </li>
+      <li> 
+        <div class="partdesc"> An action within a page flow in this web 
application 
+        </div>
+      </li>
+      <li> 
+        <div class="partdesc"> A JSP somewhere on the web, in this web 
application 
+          or a different web application. Currently the URL must be full URL, 
+          such as <span 
class="langinline">path=&quot;http://someOtherServer.com/foo/bar/valError.jsp&quot;</span>.</div>
+      </li>
+    </ul>
+  </div>
+  <blockquote> 
+    <p>If the path begins with a protocol such as &quot;http:&quot; the page 
flow 
+      runtime will look outside of this web application for the resource, and 
+      it will automatically cause a redirect (rather than a server forward) to 
+      the resource. If the path begins with a forward slash, &quot;/&quot;, 
the 
+      runtime will start at the web application's root directory to locate the 
+      resource. If the path omits the forward slash, &quot;/&quot;, the 
reference 
+      is relative to the page flow's directory.</p>
+  </blockquote>
+  <p class="attribute"><a name="return-to" id="return-to"></a>return-to</p>
+  <p class="partdesc">The return-to attribute always applies to the current 
page 
+    flow, whether it is a nested page flow or the main page flow. To return to 
+    an action in the &#8220;nesting&#8221; page flow use the return-action 
attribute.</p>
+  <p class="partdesc">The value for the <span 
class="langinline">return-to</span> 
+    attribute must be a keyword, either <span 
class="langinline">&quot;currentPage&quot;, 
+    </span> or <span class="langinline">&quot;previousPage&quot;,</span> or 
<span class="langinline">&quot;previousAction&quot;. 
+    </span></p>
+  <p class="notepara"><strong>Note:</strong> To clarify the purpose of the 
<span class="langinline">return-to</span> 
+    attribute, the keywords <span class="langinline">&quot;page&quot;</span> 
and 
+    <span class="langinline">&quot;action&quot;</span> were deprecated as of 
WebLogic 
+    Workshop 8.1 Service Pack 2. Instead of <span 
class="langinline">&quot;page&quot;</span>, 
+    the equivalent function is <span 
class="langinline">&quot;previousPage&quot;</span>. 
+    Instead of <span class="langinline">&quot;action&quot;</span>, the 
equivalent 
+    function is <span class="langinline">&quot;previousAction&quot;</span>. 
</p>
+  <p class="partdesc"> If the value is <span 
class="langinline">&quot;currentPage&quot;</span>, 
+    the same JSP page is rendered again by the server, along with any updated 
+    data that occurred as a result of executing the annotated action method. 
</p>
+  <p class="notepara">If the value is <span 
class="notepara">&quot;</span><span class="langinline">previousPage</span><span 
class="notepara">&quot;</span>, 
+    the page that was shown before the current page is rendered. </p>
+  <p class="notepara">If the value is <span 
class="langinline">&quot;previousAction&quot;</span>, 
+    the previous action in the current page flow is run. </p>
+  <p class="attribute"><a name="return-action"></a>return-action</p>
+  <p class="partdesc">The return-action attribute, which is only valid in a 
<strong>nested</strong> 
+    page flow, causes control to return to the calling (or 
&quot;nesting&quot;) 
+    page flow (leaving the current page flow), and then causes the specified 
action 
+    to be raised on the calling page flow. </p>
+  <blockquote> 
+    <p class="attribute"><a name="return-form"></a>return-form</p>
+    <p class="partdesc">Optional. The return-form attribute, which is only 
valid 
+      when used with the return-action attribute, causes the given page flow 
member 
+      variable to be attached to the returned Forward automatically.</p>
+    <p class="attribute"><a name="return-form-type" 
id="return-form-type"></a>return-form-type</p>
+    <p class="partdesc">Optional. The return-form-type attribute, which is 
only 
+      valid when used with the return-action attribute, is used in conjunction 
+      with the Forward that is returned. Forward takes the actual FormData 
instance 
+      as the second argument to its constructor. This attribute declares the 
type 
+      of the form bean that will be returned to the calling page flow.</p>
+  </blockquote>
+  <p class="notepara"><strong>Note:</strong> If multiple actions with the same 
+    name (such as &quot;success&quot;) exist in the calling page flow, either 
+    the return-form-type value or the return-form member variable type will be 
+    used to determine the appropriate action.</p>
+  <p class="attribute"><a name="redirect"></a>redirect</p>
+  <p class="partdesc">Optional. A boolean, <span 
class="langinline">true</span> 
+    or <span class="langinline">false</span>. Default is <span 
class="langinline">false</span>. 
+    When set to <span class="langinline">true</span>, navigation causes a 
browser 
+    redirect to the specified destination. Redirecting is useful when you want 
+    to clear out any data that was attached to a request, or when it is 
important 
+    that the user's URL bar reflect the actual page that is displayed (instead 
+    of the action name). For details, see the Remarks section below.</p>
+<h2>Remarks</h2>
+  <p>The following rules apply to this annotation's use:</p>
+  <ul style="list-style: disc;" type="disc">
+    <li> 
+      <p>If you used the deprecated validation-error-page attribute on the 
<span class="langinline">@jpf:action</span> 
+        annotation, use this more flexible <span 
class="langinline">@Jpf.Validation-error-forward</span> 
+        annotation instead. </p>
+    </li>
+    <li>The<span class="langinline">@Jpf.Validation-error-forward</span> 
annotation 
+      is designed to let you handle form input validation errors. In that 
sense, 
+      this annotation is not related to the <span 
class="langinline">@jpf:catch</span> 
+      and <span class="langinline">@jpf:exception-handler</span> annotations, 
+      which are designed to catch and handle exceptions. </li>
+    <li>The JPF compiler in WebLogic Workshop will issue an error if there is 
+      more than one <span 
class="langinline">@Jpf.Validation-error-forward</span> 
+      annotation on an action. </li>
+    <li>The target value for the <span class="langinline">path</span> 
attribute 
+      can be local or remote, in the same page flow, or a different page flow, 
+      or a page on a different server. For the <span 
class="langinline">return-to</span> 
+      attribute, the target value refers to an entity in the current page 
flow. 
+      A few examples:<br>
+      <br>
+      <code>* &lt;!-- Same page flow: --&gt; <br>
+* @Jpf.Validation-error-forward name=&quot;failure&quot; 
path=&quot;foo.jsp&quot; 
+<br><br>
+* &lt;!-- Different page flow: --&gt; <br>
+* @Jpf.Validation-error-forward name=&quot;failure&quot; 
path=&quot;/foo/bar.jsp&quot; 
+<br><br>
+* &lt;!-- Different server: --&gt; <br>
+* @Jpf.Validation-error-forward name=&quot;failure&quot; <br>
+* &nbsp;&nbsp;path=&quot;http://someOtherServer.com/foo/bar/etc.jsp&quot; 
+<br><br>
+* &lt;!-- Current page in the current page flow: --&gt; <br>
+* @Jpf.Validation-error-forward name=&quot;failure&quot; <br>
+* &nbsp;&nbsp;return-to=&quot;currentPage&quot; 
+<br><br>
+* &lt;!-- Previous page in the current page flow: --&gt; <br>    
+* @Jpf.Validation-error-forward name=&quot;failure&quot; <br>
+* &nbsp;&nbsp;return-to=&quot;previousPage&quot; 
+<br><br>
+* &lt;!-- Previous action in the current page flow --&gt; <br>
+* @Jpf.Validation-error-forward name=&quot;failure&quot; <br>
+* &nbsp;&nbsp;return-to=&quot;previousAction&quot; 
+</code></li>
+
+    <li>Here is a portion of the validation sample that is installed with 
WebLogic 
+      Workshop. For the full sample, see 
&lt;WEBLOGIC_HOME&gt;\samples\workshop\SamplesApp\WebApp\validation\...</li>
+    <blockquote> 
+      <pre>    /**
+     * @jpf:action
+     * @jpf:forward name="success" path="success.jsp"
+     * @Jpf.Validation-error-forward name="failure" return-to="currentPage"
+     */
+    public Forward submitForm( Form form )
+    {
+        return new Forward( "success" );
+    }
+
+
+...
+
+    /**
+     * This form bean does validation manually.
+     */
+    public static class Form extends FormData
+    {
+        private String _email;
+        private String _zipCode;
+
+        public String getEmail()
+        {
+            return _email;
+        }
+
+        public void setEmail( String email )
+        {
+            _email = email;
+        }
+
+        public String getZipCode()
+        {
+            return _zipCode;
+        }
+
+        public void setZipCode( String zipCode )
+        {
+            _zipCode = zipCode;
+        }
+
+        public ActionErrors validate( ActionMapping mapping, 
HttpServletRequest request )
+        {
+            ActionErrors errs = new ActionErrors();
+
+            int at = _email.indexOf( '@' );
+            int dot = _email.lastIndexOf( '.' );
+
+            if ( at == -1 || at == 0 || dot == -1 || at > dot )
+            {
+                errs.add( "email", new ActionError( "badEmail" ) );
+            }
+
+            if ( _zipCode.length() != 5 )
+            {
+                errs.add( "zipCode", new ActionError( "badZip", new Integer( 5 
) ) );
+            }
+
+            return errs;
+        }
+    }
+</pre></p>
+      </blockquote>
+  </ul>
+  <p class="relatedtopics">Related Topics</p>
+  <p><a href="../../guide/netui/guide/conValidatingUserInput.html">Validating 
+    User Input</a></p>
+  <p><a href="../../guide/netui/samples/samValidation.html">Form Validation 
Sample</a></p>
+  <p><a href="catch.html">@jpf:catch Annotation</a></p>
+  <p><a href="controller.html">@jpf:controller Annotation</a></p>
+  <p><a href="exception-handler.html">@jpf:exception-handler Annotation</a></p>
+  <p><a href="forward.html">@jpf:forward Annotation</a></p>
+  <p><a href="message-resources.html">@jpf:message-resources Annotation</a></p>
+  <p><a href="../../guide/netui/guide/conGettingStartedPageFlows.html">Getting 
+    Started with Page Flows</a></p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+<!-- InstanceEnd --></html>

Added: 
incubator/beehive/trunk/netui/docs/guide/reference/navPageFlowandJSPReference.html
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/docs/guide/reference/navPageFlowandJSPReference.html
  Thu Aug 19 12:54:31 2004
@@ -0,0 +1,67 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html><!-- InstanceBegin template="/Templates/Navigational.dwt" 
codeOutsideHTMLIsLocked="false" -->
+<head>
+<!-- InstanceBeginEditable name="doctitle" -->
+<title>Page Flow and JSP Reference</title>
+<!-- InstanceEndEditable --> 
+
+<!--(Meta)==========================================================-->
+<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
+<meta name=workshop content=WWKSHOP>
+<meta name="revision" content="$Revision: #3 $">
+<meta name="date" content="$Date: 2004/06/25 $">
+<!-- InstanceBeginEditable name="metatags" -->
+<!-- In the component metatag, please indicate whether this topic is for 
Integration, Workshop, or Portal. -->
+<meta name="component" content="workshop">
+<!-- In the description metatag, please provide a BRIEF description of the 
topic contents. -->
+<meta name="description" content>
+<!-- In the component metatag, please list keywords that will help a user 
search for this topic. -->
+<meta name="keywords" content>
+
+<!-- InstanceEndEditable -->
+
+<!--(Links)=========================================================-->
+<!-- InstanceBeginEditable name="head" -->
+<link href="../beehive.css" rel="stylesheet" type="text/css">
+<!-- InstanceEndEditable -->
+<link href="../../../../workshop.css" rel="stylesheet" type="text/css">
+<a href="../../../../core/index.html" id="index"></a>
+<script language="JavaScript" src="../../../../core/topicInfo.js"></script>
+<script language="JavaScript" src="../../../../core/CookieClass.js"></script>
+<script language="JavaScript" 
src="../../../../core/displayContent.js"></script>
+</head>
+
+<!--(Body)==========================================================-->
+<body>
+<script language="JavaScript">
+displayInFrames();
+</script>
+<!-- InstanceBeginEditable name="body" --> 
+<div id="topictitle">
+  <h1 class="Title">Page Flow and JSP Reference</h1>
+</div>
+<div id="topictext">
+  <p>These topics provide reference information for developing page flows and 
+    JSP pages.</p>
+  <h2>Topics Included in This Section</h2>
+  <p class="navtitle"><a href="jpf/navJpfAnnotations.html">Page Flow 
Annotations</a></p>
+  <p class="navdesc">Provides the annotations that define the behavior of the 
+    page flow controller class and its methods.</p>
+  <p class="navtitle"><a href="taglib/index.html">&lt;netui&gt; 
+    Tag Library Reference</a></p>
+  <p class="navdesc">Documents the JSP tags used with Page Flows.</p>
+  <p class="navtitle"><a href="java-class/index.html">Page Flow API 
Reference</a></p>
+  <p class="navdesc">Provides Javadoc API reference for the Page Flow 
implementing 
+    classes.</p>
+  <p class="navtitle"><a href="conRequiredParentTags.html">JSP Tags 
Hierarchy</a></p>
+  <p class="navdesc">Shows the parent tags required for each tag in the JSP 
tag 
+    library.</p>
+</div>
+<!-- InstanceEndEditable -->
+<script language="JavaScript">
+writeTopicInfo();
+</script>
+</body>
+
+<!-- InstanceEnd --></html>

Modified: incubator/beehive/trunk/netui/docs/guide/tutorial/tutJPFStep4.html
==============================================================================
--- incubator/beehive/trunk/netui/docs/guide/tutorial/tutJPFStep4.html  
(original)
+++ incubator/beehive/trunk/netui/docs/guide/tutorial/tutJPFStep4.html  Thu Aug 
19 12:54:31 2004
@@ -98,7 +98,6 @@
     )
     public Forward processData(ProcessDataForm form)
     {<br>          System.out.println(&quot;Name: &quot; + form.name);<br>     
    System.out.println(&quot;Age: &quot; + form.age);
-        getRequest().setAttribute("data", form);
         return new Forward("success");
     }
 

Modified: incubator/beehive/trunk/netui/docs/guide/tutorial/tutJPFStep5.html
==============================================================================
--- incubator/beehive/trunk/netui/docs/guide/tutorial/tutJPFStep5.html  
(original)
+++ incubator/beehive/trunk/netui/docs/guide/tutorial/tutJPFStep5.html  Thu Aug 
19 12:54:31 2004
@@ -16,6 +16,7 @@
 <p>The tasks in this step are:</p>
 </div>
 <ul>
+  <li>To process the submittted data</li>
   <li>To create a JSP page to display submitted data</li>
   <li>To build the Page Flow</li>
   <li>To restart Tomcat</li>
@@ -33,6 +34,21 @@
     </div>
   </div>
   <div> 
+    <h2>To Process the Submitted Data</h2>
+    <p>Edit the processData method in the Controller.jpf file so it appears as 
+      follows. Code to add appears in red.</p>
+    <pre>@Jpf.Action(
+        forwards = { 
+            @Jpf.Forward(name = "success", path = "showData.jsp")
+        }
+    )
+    public Forward processData(ProcessDataForm form)
+    {
+           System.out.println(&quot;Name: &quot; + form.name);
+           System.out.println(&quot;Age: &quot; + form.age);
+        <font color="#FF0000">getRequest().setAttribute("data", form);</font>
+        return new Forward("success");
+    }</pre>
     <h2>To Create a JSP Page to Display Submitted Data</h2>
     <p>Create a file named <code>displayData.jsp</code> in the directory 
<code>[TOMCAT_HOME]/directory/pageflow_tutorial</code>. 
       Edit <code>showData.jsp</code> so it appears as follows.</p>

Reply via email to