You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by st...@apache.org on 2004/08/19 21:54:31 UTC

svn commit: rev 36631 - in incubator/beehive/trunk/netui: ant docs/guide docs/guide/guide docs/guide/reference docs/guide/reference/jpf docs/guide/tutorial

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>