Author: rich Date: Tue Jan 25 21:34:23 2005 New Revision: 126471 URL: http://svn.apache.org/viewcvs?view=rev&rev=126471 Log: Added an 'action' attribute for forwarding to actions (the main use for this is forwarding to shared flow actions) on @Jpf.SimpleAction, @Jpf.Forward, and @Jpf.ConditionalForward. It basically has the same semantics as 'action' on the netui:anchor tag.
DRT/BVT: netui (WinXP) BB: self (linux) Added: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidActionType.java (contents, props changed) incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/Controller.jpf (contents, props changed) incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/SharedFlow.jpfs (contents, props changed) incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf (contents, props changed) incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp (contents, props changed) incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/index.jsp (contents, props changed) incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/success.jsp (contents, props changed) incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ActionAttr.xml (contents, props changed) Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties&r2=126471 ============================================================================== --- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties (original) +++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties Tue Jan 25 21:34:23 2005 @@ -6,9 +6,11 @@ error.atleast-one-must-exist-2 = At least one of attributes "{0}" or "{1}" must be present. error.atleast-one-must-exist-3 = At least one of attributes "{0}", "{1}", or "{2}" must be present. error.atleast-one-must-exist-4 = At least one of attributes "{0}", "{1}", "{2}", or "{3}" must be present. +error.atleast-one-must-exist-5 = At least one of attributes "{0}", "{1}", "{2}", "{3}", or "{4}" must be present. error.atmost-one-may-exist-2 = Only one of attributes "{0}" or "{1}" may be present. error.atmost-one-may-exist-3 = Only one of attributes "{0}", "{1}", or "{2}" may be present. error.atmost-one-may-exist-4 = Only one of attributes "{0}", "{1}", "{2}", or "{3}" may be present. +error.atmost-one-may-exist-5 = Only one of attributes "{0}", "{1}", "{2}", "{3}", or "{4}" may be present. error.attr-dependency-not-found-1 = Attribute "{0}" may only be present when attribute "{1}" is present. error.attr-dependency-not-found-2 = Attribute "{0}" may only be present when attribute "{1}" or "{2}" is present. error.unresolved-exception-handler = No exception handler method named "{0}" could be found. @@ -113,6 +115,7 @@ error.must-be-primitive-type = This value must be a primitive Class, e.g. int.class. error.invalid-type = This type is not allowed here. warning.action-not-found = Action "{0}" was not found. +error.action-not-found = Action "{0}" was not found. error.no-public-class = There is no public class defined in this file. warning.missing-validation-message = \ Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java&r2=126471 ============================================================================== --- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java (original) +++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java Tue Jan 25 21:34:23 2005 @@ -67,6 +67,13 @@ String navigateTo = CompilerUtils.getEnumFieldName( annotation, NAVIGATE_TO_ATTR, true ); String tilesDefinition = CompilerUtils.getString( annotation, TILES_DEFINITION_ATTR, true ); String path = CompilerUtils.getString( annotation, PATH_ATTR, true ); + String action = CompilerUtils.getString( annotation, ACTION_ATTR, true ); + + if ( action != null ) + { + assert path == null; // checker should enforce this + path = action + ACTION_EXTENSION_DOT; + } if ( returnAction != null ) { @@ -121,12 +128,8 @@ // // If it's an absolute URL, then the path shouldn't have a slash inserted in front of it. - // URL. // - if ( ! CompilerUtils.isAbsoluteURL( path ) ) - { - path = "/" + path; - } + if ( ! CompilerUtils.isAbsoluteURL( path ) ) path = '/' + path; } setPath( path ); Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java&r2=126471 ============================================================================== --- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java (original) +++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java Tue Jan 25 21:34:23 2005 @@ -58,7 +58,7 @@ private static String[][] MUTUALLY_EXCLUSIVE_ATTRS = { - { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR }, + { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR, ACTION_ATTR }, { OUTPUT_FORM_BEAN_TYPE_ATTR, OUTPUT_FORM_BEAN_ATTR }, { REDIRECT_ATTR, EXTERNAL_REDIRECT_ATTR } }; @@ -66,7 +66,7 @@ private static String[][] REQUIRED_ATTRS = { { NAME_ATTR }, - { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR } + { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR, ACTION_ATTR } }; private static String[][] ATTR_DEPENDENCIES = @@ -87,6 +87,7 @@ addMemberType( OUTPUT_FORM_BEAN_ATTR, new MemberFieldType( null , null, this ) ); addMemberType( RETURN_ACTION_ATTR, new JavaIdentifierType( null, this, '.' ) ); addMemberType( PATH_ATTR, new ExternalPathOrActionType( false, null, this, fcInfo ) ); + addMemberType( ACTION_ATTR, new ValidActionType( null, this, fcInfo ) ); addMemberType( TILES_DEFINITION_ATTR, new AnnotationMemberType( null, this ) ); addMemberType( REDIRECT_ATTR, new AnnotationMemberType( null, this ) ); addMemberType( EXTERNAL_REDIRECT_ATTR, new AbsolutePathType( null , this ) ); Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java&r2=126471 ============================================================================== --- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java (original) +++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java Tue Jan 25 21:34:23 2005 @@ -42,15 +42,7 @@ private static String[][] REQUIRED_ATTRS = { { NAME_ATTR }, - { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR, FORWARD_REF_ATTR } - }; - - private static String[][] MUTUALLY_EXCLUSIVE_ATTRS = - { - { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR, FORWARD_REF_ATTR }, - { FORWARD_REF_ATTR, OUTPUT_FORM_BEAN_TYPE_ATTR, OUTPUT_FORM_BEAN_ATTR }, - { FORWARD_REF_ATTR, REDIRECT_ATTR, EXTERNAL_REDIRECT_ATTR }, - { FORWARD_REF_ATTR, ACTION_OUTPUTS_ATTR } + { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR, FORWARD_REF_ATTR, ACTION_ATTR } }; @@ -97,7 +89,7 @@ { private static String[][] REQUIRED_ATTRS = { - { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR } + { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, NAVIGATE_TO_ATTR, ACTION_ATTR } }; public SimpleActionForwardGrammar( AnnotationProcessorEnvironment env, Diagnostics diags, Added: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidActionType.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidActionType.java?view=auto&rev=126471 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidActionType.java Tue Jan 25 21:34:23 2005 @@ -0,0 +1,46 @@ +/* + * Copyright 2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * $Header:$ + */ +package org.apache.beehive.netui.compiler.grammar; + +import org.apache.beehive.netui.compiler.AnnotationGrammar; +import org.apache.beehive.netui.compiler.FlowControllerInfo; +import com.sun.mirror.declaration.AnnotationTypeElementDeclaration; +import com.sun.mirror.declaration.AnnotationValue; +import com.sun.mirror.declaration.AnnotationMirror; +import com.sun.mirror.declaration.MemberDeclaration; + +public class ValidActionType + extends WebappPathOrActionType +{ + public ValidActionType( String requiredRuntimeVersion, AnnotationGrammar parentGrammar, FlowControllerInfo fcInfo ) + { + super( false, requiredRuntimeVersion, parentGrammar, fcInfo ); + } + + public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value, AnnotationMirror[] parentAnnotations, MemberDeclaration classMember ) + { + String stringValue = ( String ) value.getValue(); + checkAction( stringValue + ACTION_EXTENSION_DOT, value, classMember ); + return null; + } + + protected boolean doFatalError() + { + return true; + } +} Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java&r2=126471 ============================================================================== --- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java (original) +++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java Tue Jan 25 21:34:23 2005 @@ -46,6 +46,12 @@ AnnotationMirror[] parentAnnotations, MemberDeclaration classMember ) { String stringValue = ( String ) value.getValue(); + checkAction( stringValue, value, classMember ); + return super.onCheck( valueDecl, value, parentAnnotations, classMember ); + } + + protected void checkAction( String stringValue, AnnotationValue annValue, MemberDeclaration classMember ) + { if ( stringValue.endsWith( ACTION_EXTENSION_DOT ) && stringValue.indexOf( '/' ) == -1 ) { TypeDeclaration outerType = CompilerUtils.getOuterClass( classMember ); @@ -57,14 +63,14 @@ FlowControllerInfo fcInfo = getFlowControllerInfo(); boolean foundIt = actionExists( actionMethodName, outerType, null, getEnv(), fcInfo, false ); - if ( ! foundIt ) + if ( ! foundIt && actionMethodName.length() > 0 ) { // // Check for a Shared Flow action reference of the form <shared-flow-name>.<action>. // int dot = actionMethodName.indexOf( '.' ); - if ( dot != 1 && dot > actionMethodName.length() -1 ) + if ( dot != -1 && dot < actionMethodName.length() - 1 ) { String sharedFlowName = actionMethodName.substring( 0, dot ); TypeDeclaration sfTypeDecl = getFlowControllerInfo().getSharedFlowTypes().get( sharedFlowName ); @@ -91,12 +97,17 @@ if ( ! foundIt ) { - addWarning( value, "warning.action-not-found", actionMethodName ); + if ( doFatalError() ) + { + addError( annValue, "error.action-not-found", actionMethodName ); + } + else + { + addWarning( annValue, "warning.action-not-found", actionMethodName ); + } } } } - - return super.onCheck( valueDecl, value, parentAnnotations, classMember ); } public static boolean actionExists( String actionName, TypeDeclaration type, AnnotationMirror annotationToIgnore, Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java&r1=126470&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java&r2=126471 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java Tue Jan 25 21:34:23 2005 @@ -141,31 +141,37 @@ String name() default ""; /** - * The forward path. Mutually-exclusive with <code>tilesDefinition</code>, - * <code>returnAction</code> and <code>navigateTo</code>. + * The forward path. Mutually-exclusive with [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, + * and [EMAIL PROTECTED] #tilesDefinition}. */ String path() default ""; - - /** - * The Tiles definition to forward to. Mutually-exclusive with <code>path</code>, - * <code>returnAction</code> and <code>navigateTo</code>. - */ - String tilesDefinition() default ""; - + /** - * The action to be invoked on the calling page flow. Mutually-exclusive with <code>path</code>, - * <code>tilesDefinition</code> and <code>navigateTo</code>, and only valid in a nested page flow - * (<code>nested</code> on the <code>Controller</code> annotation must be true). + * The action to be invoked on the calling page flow. Mutually-exclusive with [EMAIL PROTECTED] #path}, + * [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #action}, and [EMAIL PROTECTED] #tilesDefinition}, and only valid in a nested page flow + * ([EMAIL PROTECTED] Controller#nested} must be <code>true</code>). */ String returnAction() default ""; /** - * A symbolic name for the page/action to which to navigate. Mutually-exclusive with - * <code>path</code>, <code>tilesDefinition</code> and <code>returnAction</code> + * A symbolic name for the page/action to which to navigate. Mutually-exclusive with [EMAIL PROTECTED] #path}, + * [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, and [EMAIL PROTECTED] #tilesDefinition}. */ NavigateTo navigateTo() default NavigateTo.currentPage; /** + * An action to forward to. Mutually-exclusive with [EMAIL PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction}, + * and [EMAIL PROTECTED] #tilesDefinition}. + */ + String action() default ""; + + /** + * A Tiles definition to forward to. Mutually-exclusive with [EMAIL PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo}, + * [EMAIL PROTECTED] #returnAction}, and [EMAIL PROTECTED] #action}. + */ + String tilesDefinition() default ""; + + /** * Tells whether the original query string will be restored on a rerun of a previous action. Only valid when * <code>navigateTo</code> is <code>NavigateTo.previousAction</code>. * @return boolean @@ -303,37 +309,43 @@ boolean doValidation() default false; /** - * The forward path. Mutually-exclusive with <code>tilesDefinition</code>, <code>forwardRef</code>, - * <code>returnAction</code> and <code>navigateTo</code>. - */ + * The forward path. Mutually-exclusive with [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, + * [EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] #forwardRef}. + */ String path() default ""; /** - * The name of a class-level forward ([EMAIL PROTECTED] Forward}). Mutually-exclusive with with <code>path</code>, - * <code>tilesDefinition</code>, <code>returnAction</code> and <code>navigateTo</code>. - */ - String forwardRef() default ""; - + * The action to be invoked on the calling page flow. Mutually-exclusive with [EMAIL PROTECTED] #path}, + * [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #action}, [EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] #forwardRef}, and only valid in + * a nested page flow ([EMAIL PROTECTED] Controller#nested} must be <code>true</code>). + */ + String returnAction() default ""; + /** - * The Tiles definition to forward to. Mutually-exclusive with <code>path</code>, <code>forwardRef</code>, - * <code>returnAction</code> and <code>navigateTo</code>. + * A symbolic name for the page/action to which to navigate. Mutually-exclusive with [EMAIL PROTECTED] #path}, + * [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, [EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] #forwardRef}.. */ - String tilesDefinition() default ""; - + NavigateTo navigateTo() default NavigateTo.currentPage; + /** - * The action to be invoked on the calling page flow. Mutually-exclusive with <code>path</code>, - * <code>forwardRef</code>, <code>tilesDefinition</code> and <code>navigateTo</code>, and only valid in a - * nested page flow (<code>nested</code> on the <code>Controller</code> annotation must be true). - */ - String returnAction() default ""; + * An action to forward to. Mutually-exclusive with [EMAIL PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction}, + * [EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] #forwardRef}.. + */ + String action() default ""; /** - * A symbolic name for the page/action to which to navigate. Mutually-exclusive with - * <code>path</code>, <code>forwardRef</code>, <code>tilesDefinition</code> and <code>returnAction</code> + * A Tiles definition to forward to. Mutually-exclusive with [EMAIL PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo}, + * [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, and [EMAIL PROTECTED] #forwardRef}.. */ - NavigateTo navigateTo() default NavigateTo.currentPage; + String tilesDefinition() default ""; /** + * The name of a class-level forward ([EMAIL PROTECTED] Forward}). Mutually-exclusive with with [EMAIL PROTECTED] #path}, + * [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] #forwardRef}. + */ + String forwardRef() default ""; + + /** * Tells whether the original query string will be restored on a rerun of a previous action. Only valid when * <code>navigateTo</code> is <code>NavigateTo.previousAction</code>. * @return boolean @@ -420,29 +432,35 @@ String name(); /** - * The forward path. Mutually-exclusive with <code>tilesDefinition</code>, - * <code>returnAction</code> and <code>navigateTo</code>. - */ + * The forward path. Mutually-exclusive with [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, + * and [EMAIL PROTECTED] #tilesDefinition}. + */ String path() default ""; - - /** - * The Tiles definition to forward to. Mutually-exclusive with <code>path</code>, - * <code>returnAction</code> and <code>navigateTo</code>. - */ - String tilesDefinition() default ""; - + /** - * The action to be invoked on the calling page flow. Mutually-exclusive with <code>path</code>, - * <code>tilesDefinition</code> and <code>navigateTo</code>, and only valid in a nested page flow - * (<code>nested</code> on the <code>Controller</code> annotation must be true). - */ + * The action to be invoked on the calling page flow. Mutually-exclusive with [EMAIL PROTECTED] #path}, + * [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #action}, and [EMAIL PROTECTED] #tilesDefinition}, and only valid in a nested page flow + * ([EMAIL PROTECTED] Controller#nested} must be <code>true</code>). + */ String returnAction() default ""; /** - * A symbolic name for the page/action to which to navigate. Mutually-exclusive with - * <code>path</code>, <code>tilesDefinition</code> and <code>returnAction</code> + * A symbolic name for the page/action to which to navigate. Mutually-exclusive with [EMAIL PROTECTED] #path}, + * [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, and [EMAIL PROTECTED] #tilesDefinition}. */ NavigateTo navigateTo() default NavigateTo.currentPage; + + /** + * An action to forward to. Mutually-exclusive with [EMAIL PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction}, + * and [EMAIL PROTECTED] #tilesDefinition}. + */ + String action() default ""; + + /** + * A Tiles definition to forward to. Mutually-exclusive with [EMAIL PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo}, + * [EMAIL PROTECTED] #returnAction}, and [EMAIL PROTECTED] #action}. + */ + String tilesDefinition() default ""; /** * Tells whether the original query string will be restored on a rerun of a previous action. Only valid when Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf&r1=126470&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf&r2=126471 ============================================================================== --- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf (original) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf Tue Jan 25 21:34:23 2005 @@ -21,181 +21,9 @@ import org.apache.beehive.netui.pageflow.PageFlowController; import org.apache.beehive.netui.pageflow.annotations.Jpf; -/** - * @jpf:controller - * @jpf:view-properties view-properties:: - * <!-- This data is auto-generated. Hand-editing this section is not recommended. --> - * <view-properties> - * <pageflow-object id="pageflow:/miniTests/forwardToAction/ForwardToActionController.jpf"/> - * <pageflow-object id="action:begin.do"> - * <property value="80" name="x"/> - * <property value="300" name="y"/> - * </pageflow-object> - * <pageflow-object id="action:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm"> - * <property value="400" name="x"/> - * <property value="300" name="y"/> - * </pageflow-object> - * <pageflow-object id="action:actionWithoutForm.do"> - * <property value="560" name="x"/> - * <property value="380" name="y"/> - * </pageflow-object> - * <pageflow-object id="action:actionWithForm.do#miniTests.forwardToAction.ForwardToActionController.AnotherForm"> - * <property value="560" name="x"/> - * <property value="220" name="y"/> - * </pageflow-object> - * <pageflow-object id="action-call:@page:[EMAIL PROTECTED]@action:begin.do@"> - * <property value="756,756,44,44" name="elbowsX"/> - * <property value="292,336,336,292" name="elbowsY"/> - * <property value="East_1" name="fromPort"/> - * <property value="West_1" name="toPort"/> - * </pageflow-object> - * <pageflow-object id="page:result.jsp"> - * <property value="720" name="x"/> - * <property value="300" name="y"/> - * </pageflow-object> - * <pageflow-object id="forward:[EMAIL PROTECTED]:begin.do@"> - * <property value="116,160,160,204" name="elbowsX"/> - * <property value="292,292,292,292" name="elbowsY"/> - * <property value="East_1" name="fromPort"/> - * <property value="West_1" name="toPort"/> - * <property value="success" name="label"/> - * </pageflow-object> - * <pageflow-object id="forward:[EMAIL PROTECTED]:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@"> - * <property value="436,480,480,524" name="elbowsX"/> - * <property value="292,292,372,372" name="elbowsY"/> - * <property value="East_1" name="fromPort"/> - * <property value="West_1" name="toPort"/> - * <property value="withoutForm" name="label"/> - * </pageflow-object> - * <pageflow-object id="forward:[EMAIL PROTECTED]:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@"> - * <property value="436,480,480,524" name="elbowsX"/> - * <property value="292,292,212,212" name="elbowsY"/> - * <property value="East_1" name="fromPort"/> - * <property value="West_1" name="toPort"/> - * <property value="withForm" name="label"/> - * </pageflow-object> - * <pageflow-object id="forward:[EMAIL PROTECTED]:actionWithoutForm.do@"> - * <property value="596,720,720,720" name="elbowsX"/> - * <property value="372,372,358,344" name="elbowsY"/> - * <property value="East_1" name="fromPort"/> - * <property value="South_1" name="toPort"/> - * <property value="success" name="label"/> - * </pageflow-object> - * <pageflow-object id="forward:[EMAIL PROTECTED]:actionWithForm.do#miniTests.forwardToAction.ForwardToActionController.AnotherForm@"> - * <property value="596,720,720,720" name="elbowsX"/> - * <property value="212,212,234,256" name="elbowsY"/> - * <property value="East_1" name="fromPort"/> - * <property value="North_1" name="toPort"/> - * <property value="success" name="label"/> - * </pageflow-object> - * <pageflow-object id="formbeanprop:miniTests.forwardToAction.ForwardToActionController.SomeActionForm#foo#java.lang.String"/> - * <pageflow-object id="formbean:miniTests.forwardToAction.ForwardToActionController.SomeActionForm"/> - * <pageflow-object id="formbeanprop:miniTests.forwardToAction.ForwardToActionController.AnotherForm#bar#java.lang.String"/> - * <pageflow-object id="formbean:miniTests.forwardToAction.ForwardToActionController.AnotherForm"/> - * <pageflow-object id="action-call:@page:[EMAIL PROTECTED]@action:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@"> - * <property value="276,320,320,364" name="elbowsX"/> - * <property value="292,292,292,292" name="elbowsY"/> - * <property value="East_1" name="fromPort"/> - * <property value="West_1" name="toPort"/> - * </pageflow-object> - * <pageflow-object id="page:index.jsp"> - * <property value="240" name="x"/> - * <property value="300" name="y"/> - * </pageflow-object> - * </view-properties> - * :: - */ [EMAIL PROTECTED]( - ) [EMAIL PROTECTED]( - value = { - "<!-- This data is auto-generated. Hand-editing this section is not recommended. -->", - "<view-properties>", - "<pageflow-object id='pageflow:/miniTests/forwardToAction/ForwardToActionController.jpf'/>", - "<pageflow-object id='action:begin.do'>", - " <property value='80' name='x'/>", - " <property value='300' name='y'/>", - "</pageflow-object>", - "<pageflow-object id='action:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm'>", - " <property value='400' name='x'/>", - " <property value='300' name='y'/>", - "</pageflow-object>", - "<pageflow-object id='action:actionWithoutForm.do'>", - " <property value='560' name='x'/>", - " <property value='380' name='y'/>", - "</pageflow-object>", - "<pageflow-object id='action:actionWithForm.do#miniTests.forwardToAction.ForwardToActionController.AnotherForm'>", - " <property value='560' name='x'/>", - " <property value='220' name='y'/>", - "</pageflow-object>", - "<pageflow-object id='action-call:@page:[EMAIL PROTECTED]@action:begin.do@'>", - " <property value='756,756,44,44' name='elbowsX'/>", - " <property value='292,336,336,292' name='elbowsY'/>", - " <property value='East_1' name='fromPort'/>", - " <property value='West_1' name='toPort'/>", - "</pageflow-object>", - "<pageflow-object id='page:result.jsp'>", - " <property value='720' name='x'/>", - " <property value='300' name='y'/>", - "</pageflow-object>", - "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>", - " <property value='116,160,160,204' name='elbowsX'/>", - " <property value='292,292,292,292' name='elbowsY'/>", - " <property value='East_1' name='fromPort'/>", - " <property value='West_1' name='toPort'/>", - " <property value='success' name='label'/>", - "</pageflow-object>", - "<pageflow-object id='forward:[EMAIL PROTECTED]:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@'>", - " <property value='436,480,480,524' name='elbowsX'/>", - " <property value='292,292,372,372' name='elbowsY'/>", - " <property value='East_1' name='fromPort'/>", - " <property value='West_1' name='toPort'/>", - " <property value='withoutForm' name='label'/>", - "</pageflow-object>", - "<pageflow-object id='forward:[EMAIL PROTECTED]:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@'>", - " <property value='436,480,480,524' name='elbowsX'/>", - " <property value='292,292,212,212' name='elbowsY'/>", - " <property value='East_1' name='fromPort'/>", - " <property value='West_1' name='toPort'/>", - " <property value='withForm' name='label'/>", - "</pageflow-object>", - "<pageflow-object id='forward:[EMAIL PROTECTED]:actionWithoutForm.do@'>", - " <property value='596,720,720,720' name='elbowsX'/>", - " <property value='372,372,358,344' name='elbowsY'/>", - " <property value='East_1' name='fromPort'/>", - " <property value='South_1' name='toPort'/>", - " <property value='success' name='label'/>", - "</pageflow-object>", - "<pageflow-object id='forward:[EMAIL PROTECTED]:actionWithForm.do#miniTests.forwardToAction.ForwardToActionController.AnotherForm@'>", - " <property value='596,720,720,720' name='elbowsX'/>", - " <property value='212,212,234,256' name='elbowsY'/>", - " <property value='East_1' name='fromPort'/>", - " <property value='North_1' name='toPort'/>", - " <property value='success' name='label'/>", - "</pageflow-object>", - "<pageflow-object id='formbeanprop:miniTests.forwardToAction.ForwardToActionController.SomeActionForm#foo#java.lang.String'/>", - "<pageflow-object id='formbean:miniTests.forwardToAction.ForwardToActionController.SomeActionForm'/>", - "<pageflow-object id='formbeanprop:miniTests.forwardToAction.ForwardToActionController.AnotherForm#bar#java.lang.String'/>", - "<pageflow-object id='formbean:miniTests.forwardToAction.ForwardToActionController.AnotherForm'/>", - "<pageflow-object id='action-call:@page:[EMAIL PROTECTED]@action:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@'>", - " <property value='276,320,320,364' name='elbowsX'/>", - " <property value='292,292,292,292' name='elbowsY'/>", - " <property value='East_1' name='fromPort'/>", - " <property value='West_1' name='toPort'/>", - "</pageflow-object>", - "<pageflow-object id='page:index.jsp'>", - " <property value='240' name='x'/>", - " <property value='300' name='y'/>", - "</pageflow-object>", - "</view-properties>" - }) [EMAIL PROTECTED]() public class ForwardToActionController extends PageFlowController { - /** - * This method represents the point of entry into the pageflow - * @jpf:action - * @jpf:forward name="success" path="index.jsp" - */ @Jpf.Action( forwards = { @Jpf.Forward( @@ -207,11 +35,6 @@ return new Forward("success"); } - /** - * @jpf:action - * @jpf:forward name="withoutForm" path="actionWithoutForm.do" - * @jpf:forward name="withForm" path="actionWithForm.do" - */ @Jpf.Action( forwards = { @Jpf.Forward( @@ -233,10 +56,6 @@ } } - /** - * @jpf:action - * @jpf:forward name="success" path="result.jsp" - */ @Jpf.Action( forwards = { @Jpf.Forward( @@ -248,10 +67,6 @@ return new Forward("success"); } - /** - * @jpf:action - * @jpf:forward name="success" path="result.jsp" - */ @Jpf.Action( forwards = { @Jpf.Forward( @@ -263,9 +78,6 @@ return new Forward("success"); } - /** - * FormData get and set methods may be overwritten by the Form Bean editor. - */ public static class SomeActionForm extends FormData { private String foo; @@ -281,9 +93,6 @@ } } - /** - * FormData get and set methods may be overwritten by the Form Bean editor. - */ public static class AnotherForm extends FormData { private String bar; Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/Controller.jpf Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/Controller.jpf?view=auto&rev=126471 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/Controller.jpf Tue Jan 25 21:34:23 2005 @@ -0,0 +1,36 @@ +package pageFlowCore.actionAttr; + +import org.apache.beehive.netui.pageflow.*; +import org.apache.beehive.netui.pageflow.annotations.*; + [EMAIL PROTECTED]( + simpleActions={ + @Jpf.SimpleAction(name="begin", path="index.jsp"), + @Jpf.SimpleAction(name="simpleAction", action="theAction"), + @Jpf.SimpleAction( + name="conditionalForward", + path="index.jsp", + conditionalForwards={ + @Jpf.ConditionalForward(condition="${true}", action="theAction") + } + ), + @Jpf.SimpleAction(name="theAction", path="success.jsp"), + @Jpf.SimpleAction(name="toSharedFlowAction", action="sf.sharedFlowAction"), + @Jpf.SimpleAction(name="toAnotherPageFlowAction", action="/pageFlowCore/actionAttr/anotherPageFlow/someAction") + }, + sharedFlowRefs={ + @Jpf.SharedFlowRef(name="sf", type=SharedFlow.class) + } +) +public class Controller extends PageFlowController +{ + @Jpf.Action( + forwards={ + @Jpf.Forward(name="theAction", action="theAction") + } + ) + public Forward forward() + { + return new Forward( "theAction" ); + } +} Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/SharedFlow.jpfs Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/SharedFlow.jpfs?view=auto&rev=126471 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/SharedFlow.jpfs Tue Jan 25 21:34:23 2005 @@ -0,0 +1,13 @@ +package pageFlowCore.actionAttr; + +import org.apache.beehive.netui.pageflow.*; +import org.apache.beehive.netui.pageflow.annotations.*; + [EMAIL PROTECTED]( + simpleActions={ + @Jpf.SimpleAction(name="sharedFlowAction", path="success.jsp") + } +) +public class SharedFlow extends SharedFlowController +{ +} Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf?view=auto&rev=126471 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf Tue Jan 25 21:34:23 2005 @@ -0,0 +1,15 @@ +package pageFlowCore.actionAttr.anotherPageFlow; + +import org.apache.beehive.netui.pageflow.*; +import org.apache.beehive.netui.pageflow.annotations.*; + [EMAIL PROTECTED]( + simpleActions={ + @Jpf.SimpleAction(name="begin", path="index.jsp"), + @Jpf.SimpleAction(name="someAction", path="index.jsp"), + @Jpf.SimpleAction(name="goBack", action="../begin") + } +) +public class Controller extends PageFlowController +{ +} Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp?view=auto&rev=126471 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp Tue Jan 25 21:34:23 2005 @@ -0,0 +1,22 @@ +<%@ page language="java" contentType="text/html;charset=UTF-8"%> +<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%> +<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%> +<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%> + + +<netui:html> + <head> + <netui:base/> + </head> + <netui:body> + <h3>${pageFlow.URI}</h3> + + Success! + <br/> + <br/> + <netui:anchor action="goBack">go back to previous page flow</netui:anchor> + </netui:body> +</netui:html> + + + Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/index.jsp Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/index.jsp?view=auto&rev=126471 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/index.jsp Tue Jan 25 21:34:23 2005 @@ -0,0 +1,24 @@ +<%@ page language="java" contentType="text/html;charset=UTF-8"%> +<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%> +<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%> +<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%> + + +<netui:html> + <head> + <netui:base/> + </head> + <netui:body> + <h3>${pageFlow.URI}</h3> + + <netui:anchor action="simpleAction">forward to an action through a @Jpf.SimpleAction</netui:anchor> + <br/> + <netui:anchor action="conditionalForward">forward to an action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</netui:anchor> + <br/> + <netui:anchor action="forward">forward to an action through a @Jpf.Forward (on a method action)</netui:anchor> + <br/> + <netui:anchor action="toSharedFlowAction">forward to a shared flow action</netui:anchor> + <br/> + <netui:anchor action="toAnotherPageFlowAction">forward to an action in another page flow</netui:anchor> + </netui:body> +</netui:html> Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/success.jsp Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/success.jsp?view=auto&rev=126471 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/success.jsp Tue Jan 25 21:34:23 2005 @@ -0,0 +1,22 @@ +<%@ page language="java" contentType="text/html;charset=UTF-8"%> +<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%> +<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%> +<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%> + + +<netui:html> + <head> + <netui:base/> + </head> + <netui:body> + <h3>${pageFlow.URI}</h3> + + Success! + <br/> + <br/> + <netui:anchor action="begin">go back</netui:anchor> + </netui:body> +</netui:html> + + + Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml&r1=126470&p2=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml&r2=126471 ============================================================================== --- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original) +++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Tue Jan 25 21:34:23 2005 @@ -96,6 +96,21 @@ </features> </test> <test> + <name>ActionAttr</name> + <description>Test of forwarding to local actions, external actions, and shared flow actions through the 'action' attribute on @Jpf.SimpleAction, @Jpf.ConditionalForward, and @Jpf.Forward.</description> + <webapp>coreWeb</webapp> + <categories> + <category>bvt</category> + <category>bvt.struts11</category> + <category>corePageFlow</category> + </categories> + <features> + <feature>Action</feature> + <feature>PageFlow</feature> + <feature>SharedFlow</feature> + </features> + </test> + <test> <name>ActionChaining</name> <description>Test of passing forms and pageflow-scoped forms with action chaining.</description> <webapp>coreWeb</webapp> Added: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ActionAttr.xml Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ActionAttr.xml?view=auto&rev=126471 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ActionAttr.xml Tue Jan 25 21:34:23 2005 @@ -0,0 +1,928 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session"> + <ses:sessionName>ActionAttr</ses:sessionName> + <ses:tester>rich</ses:tester> + <ses:startDate>25 Jan 2005, 10:05:29.138 PM MST</ses:startDate> + <ses:description>Test of forwarding to local actions, external actions, and shared flow actions through the 'action' attribute on @Jpf.SimpleAction, @Jpf.ConditionalForward, and @Jpf.Forward.</ses:description> + <ses:tests> + <ses:test> + <ses:testNumber>1</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/Controller.jpf</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/index.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to an action through a @Jpf.SimpleAction</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an action through a @Jpf.Forward (on a method action)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a shared flow action</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to an action in another page flow</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>2</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/simpleAction.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/Controller.jpf</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/success.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + Success! + <br/> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/begin.do">go back</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>3</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/begin.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/simpleAction.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/index.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to an action through a @Jpf.SimpleAction</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an action through a @Jpf.Forward (on a method action)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a shared flow action</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to an action in another page flow</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>4</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/conditionalForward.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/begin.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/success.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + Success! + <br/> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/begin.do">go back</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>5</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/begin.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/conditionalForward.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/index.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to an action through a @Jpf.SimpleAction</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an action through a @Jpf.Forward (on a method action)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a shared flow action</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to an action in another page flow</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>6</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/forward.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/begin.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/success.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + Success! + <br/> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/begin.do">go back</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>7</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/begin.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/forward.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/index.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to an action through a @Jpf.SimpleAction</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an action through a @Jpf.Forward (on a method action)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a shared flow action</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to an action in another page flow</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>8</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/begin.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/success.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + Success! + <br/> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/begin.do">go back</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>9</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/begin.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/index.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to an action through a @Jpf.SimpleAction</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an action through a @Jpf.Forward (on a method action)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a shared flow action</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to an action in another page flow</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>10</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/begin.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf</h3> + + Success! + <br/> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/goBack.do">go back to previous page flow</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + <ses:test> + <ses:testNumber>11</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/goBack.do</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=4AF6F1090B6F69A495FAE251EDB6CE57</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>referer</ses:name> + <ses:value>http://localhost:8080/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/pageFlowCore/actionAttr/index.jsp"> + </head> + <body> + <h3>/pageFlowCore/actionAttr/Controller.jpf</h3> + + <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to an action through a @Jpf.SimpleAction</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an action through a @Jpf.Forward (on a method action)</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a shared flow action</a> + <br/> + <a href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to an action in another page flow</a> + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + </ses:tests> + <ses:endDate>25 Jan 2005, 10:05:49.136 PM MST</ses:endDate> + <ses:testCount>11</ses:testCount> +</ses:recorderSession>
