Nested page flow navigation problem

I created a portlet based on a page flow, pf1. pf1 invokes an action "callPageFlow2"
to call a nested page flow 'pf2'. When I navigate from pf1 to pf2, everything
is OK. But if I click the BROWSER's "Back" button to move back from pf2 to pf1,
then click the link to invoke "callPageFlow2" again, I got the error saying "callPageFlow2
not found". In fact the portal was looking for "callPageFlow2" within pf2 instead
of pf1 (although I click the link within pf1).
If I run the page flow I did not get this error. Only when I tried this within
a portal, it failed.
Any idea?
Thanks

The browser back button has been a perpetual pain in the neck for server side applications,
but the truth is, if it's causing any problems, then the application design should
be revisited. In this particular case, when you call pf2, portal server marks
pf2 as the current pageflow in session so that future actions can be invoked on
this pageflow. pf1 is pushed onto a stack also tracked in the session. When you
exit from pf2 through an exit action, the stack is popped and pf1 is set as the
current pageflow BUT when you go back by pressing the back button, the server
never gets a chance to pop the stack and reset pf1 as the current pageflow. Hence
when you submit an action belonging to pf1, the server chokes because it can't
find the action on pf2 which has been pinned as the current pageflow because of
the previous request that did hit the server.
SO, a possible fix is that the underlying pageflowcontroller code is modified
to lookup the action in the parent pageflow if the action is not found in the
nested pageflow. I hope BEA will make that fix. You do have a workaround which
should work in most of the cases. If the action is not found in the current pageflow,
portal server DOES look for the action in another place, and that is the Global
pageflow as defined in the Global.app file. So as a workaround, if your flow logic
will allow it, you can duplicate the actions called on pf1 in the global.app.
You DO NOT need to duplicate all the actions, just the one or two that are on
the JSP that allows you to invoke callPageFlow2. Make sure you edit your jsp paths
in the forwards to point to absolute paths from the root of your app instead of
relative paths that you may have.
I tried to hack around this using the backing file mechanism, but the server chokes
before it gets to any of the backing class methods, so I resorted to this work
around temporarily.
Cheers
Khurram
"zli" <[email protected]> wrote:
>
I created a portlet based on a page flow, pf1. pf1 invokes an action
"callPageFlow2"
to call a nested page flow 'pf2'. When I navigate from pf1 to pf2, everything
is OK. But if I click the BROWSER's "Back" button to move back from pf2
to pf1,
then click the link to invoke "callPageFlow2" again, I got the error
saying "callPageFlow2
not found". In fact the portal was looking for "callPageFlow2" within
pf2 instead
of pf1 (although I click the link within pf1).
If I run the page flow I did not get this error. Only when I tried this
within
a portal, it failed.
Any idea?
Thanks

Similar Messages

  • Nested Page Flows and Pop Ups - Workshop 8.1

    Hi, everybody.
    I'm facing the following problem:
    I've a "main" page flow within some page flow-scoped data and forms. Now i need to open/execute another page flow (a "secondary" one) inside a pop up window. The tricky is i cannot "lose" the data in the first page flow. I will navigate to main page, fill some data, open the pop up, execute some queries, close the pop up and continue previous navigation.
    If i don't use a "nested" page flow for my pop up, i loose the page flow-scoped data from my main page flow (a new page flow is created).
    If i use a nested page flow, the following scene does not work:
    - Go to main page (create main page flow);
    - Fill some data;
    - Open pop up (create nested page flow);
    - Perform some queries (execute actions inside nested page flow);
    - Close pop up window;
    - Fill some data;
    - Submit main page;
    - Execute form validation using Struts Validator.
    When i execute the last step and there are errors in the submitted form, netui data binding tags fail. I believe that the engine "thinks" that it should use nested page flow (and form) instead of the main page flow (and form).
    I've found a workaround for this situation: When the pop up is closed, the main page execute a "dummy refresh action" in the main page flow.
    Is this the correct behaviour ? Is there another way of do it ?
    Thanks in advance.

    Hi Vimala.
    I cannot lose page flow data because i have other kind of data (beside a form) inside my page flow: Options values, previous search result list, ...
    Can i close the pop up window without call "return-action" ? How should i proceed if i don't need/have a "return-action" ?
    How should i proceed if i should to specify the forward of a "return-action" as a request parameter/attribute ?
    Thanks.

  • Nested Page Flows

    Hi,
              I am getting ActionNotFoundException when browsing through my pages which use the Nested Page Flows.
              The complete description of the Nested Page Flow we are using in our Application .
              CustomerController --> Parent Controller
              ServiceAddressController --> Child Controller
              OrganizationHierarchyController --> Child Controller
              The CustomerController.saveCustomerContacts() action invokes the ServiceAddressController.begin().
              ServiceAddressController performs some actions and returns the Control back to the CustomerController.serviceAddressDone().
              CustomerController.serviceAddressDone() inturn again immediately invokes the OrganizationHierarchyController.begin().
              After performing some actions the OrganizationHierarchyController returns the control back to CustomerController.organizationHierarchyDone().
              The logs indicate that the Exception is occuring after returning from the OrganizationHierarchyController.begin().
              This is happening in the Integration environment.
              And one more thing…
              We have found from the Bea Web site
              (link: http://edocs.bea.com/workshop/docs81/doc/en/core/index.html ) that the following Exception occurs in the development environment..
              com.bea.wlw.netui.pageflow
              EmptyNestingStackException Class
              public class EmptyNestingStackException
              extends PageFlowException
              Exception that occurs when the user invokes an action in a nested page flow that is qualified with a @jpf:forward return-action="action-name-in-calling-pageflow " annotation, but there is no calling page flow. This can happen in iterative development mode when you have modified files and caused the web application to be redeployed, or when the session expires.
              Hierarchy
              Object
              Throwable
              Exception
              RuntimeException
              PageFlowException
              EmptyNestingStackException
              All Implemented Interfaces
              Serializable
              We initially thought that the above Exception might be the cause for ActionNotFoundException.
              Since the Weblogic Server removes the Controller from the nesting stack, and hence the Controller is lost and there by resulting in ActionNotFoundException.
              And we thought that this happens only in the iterative development Environment.
              But, we are getting this Exception even in the Integration Environment.
              This is causing problems for us to test the Application, and resolve the defects, and considerably hindering the progress of our development and the testing phase.
              We would appreciate any one who could find a quick solution for the above problem.
              We are Using Weblogic 8.1.3 with ServicePack 3.
              thanks,
              Venkatesh Pagadala.
              :-)

    Did you get to the bottom of this ?
              The exception can be generated when you try to access /invoke an action on a pageflow that is no longer in the stack.
              Once you use the return-to and go back to a parent page flow then then nested page flow is destroyed.

  • Nested page flows with a common popup

    Hello,
    I would appreciate some help with the following problem...
    I have a web application that utilizes nested page flows. I need the
    ability to popup a window (with dynamic data) that can be initialized from
    any page flow in the application. The catch is that after popup is opened,
    the active page flow in the application must be the flow that created the
    popup. Also, I want to have one copy of this JSP in my application, and it
    requires page flow data binding.
    My solution as it stands works, but throws an Exception. Basically, the
    popup has its own nested page flow that is initialized by an action in any
    other flow that needs it. The popup flow uses the response to send a
    redirect to a blank window, then forwards to a return action to get back to
    the popup flow's parent flow. Functionally this works perfectly, however,
    the following exception is thrown:
    java.lang.IllegalStateException: Cannot forward to a response that is
    already committed
    Obviously, I'm not going about this correctly. Thanks for any help in
    advance,
    Chris

    Hello,
    I would appreciate some help with the following problem...
    I have a web application that utilizes nested page flows. I need the
    ability to popup a window (with dynamic data) that can be initialized from
    any page flow in the application. The catch is that after popup is opened,
    the active page flow in the application must be the flow that created the
    popup. Also, I want to have one copy of this JSP in my application, and it
    requires page flow data binding.
    My solution as it stands works, but throws an Exception. Basically, the
    popup has its own nested page flow that is initialized by an action in any
    other flow that needs it. The popup flow uses the response to send a
    redirect to a blank window, then forwards to a return action to get back to
    the popup flow's parent flow. Functionally this works perfectly, however,
    the following exception is thrown:
    java.lang.IllegalStateException: Cannot forward to a response that is
    already committed
    Obviously, I'm not going about this correctly. Thanks for any help in
    advance,
    Chris

  • EmptyStackException when exit from nested page flow on SP2

    I have tried to call a nested page flow (TestNestedController.jpf) from page flow
    and using redirect="true". After exit from nested page flow, it supposes that
    return to the action testNestedDone() in page flow(TestPageController). It works
    on SP1, but it fails on SP2.
    Please suggest any solutions for this issues.
    public class TestPageController extends PageFlowController
    // Uncomment this declaration to access Global.app.
    // protected global.Global globalApp;
    // For an example of page flow exception handling see the example "catch"
    and "exception-handler"
    // annotations in {project}/WEB-INF/src/global/Global.app
    * This method represents the point of entry into the pageflow
    * @jpf:action
    * @jpf:forward name="success" path="page.jsp"
    protected Forward begin()
    return new Forward("success");
    * @jpf:action
    * @jpf:forward name="success" path="/test/testNested/TestNestedController.jpf"
    redirect="true"
    protected Forward goToNested()
    System.out.println("go to nested redirect = true");
    return new Forward("success");
    * @jpf:action
    * @jpf:forward name="success" path="index.jsp"
    protected Forward testNestedDone()
    return new Forward("success");

    The error message like this:
    Empty nesting stack for returned action BackToPrevious from Page Flow /xxxx/viewMemberController.jpf.
    com.bea.wlw.netui.pageflow.EmptyNestingStackException: Empty nesting stack for
    returned action BackToPrevious from page flow /xxxx/viewMember/viewMemberController.jpf.
    at com.bea.wlw.netui.pageflow.FlowController.forwardTo(FlowController.java:1103)
    "patrick" <[email protected]> wrote:
    >
    I have tried to call a nested page flow (TestNestedController.jpf) from
    page flow
    and using redirect="true". After exit from nested page flow, it supposes
    that
    return to the action testNestedDone() in page flow(TestPageController).
    It works
    on SP1, but it fails on SP2.
    Please suggest any solutions for this issues.
    public class TestPageController extends PageFlowController
    // Uncomment this declaration to access Global.app.
    // protected global.Global globalApp;
    // For an example of page flow exception handling see the example
    "catch"
    and "exception-handler"
    // annotations in {project}/WEB-INF/src/global/Global.app
    * This method represents the point of entry into the pageflow
    * @jpf:action
    * @jpf:forward name="success" path="page.jsp"
    protected Forward begin()
    return new Forward("success");
    * @jpf:action
    * @jpf:forward name="success" path="/test/testNested/TestNestedController.jpf"
    redirect="true"
    protected Forward goToNested()
    System.out.println("go to nested redirect = true");
    return new Forward("success");
    * @jpf:action
    * @jpf:forward name="success" path="index.jsp"
    protected Forward testNestedDone()
    return new Forward("success");

  • Make an existing page flow as nested page flow

    Hi
    I have a page flow and want to make it as a nested page flow. I observed that there is a checkbox for making a page flow as nested when we create a page flow. I haven't selected that option during creation.
    Is there any property i can set for a page flow to make it nested.
    Appreciate your help in this.
    Thanks,
    RK

    Hi,
    Just update the entry after the import in your existing page flow controller from @jpf controller to @jpf controller nested="true".
    Once you do this, Worksop would indicate an error saying that this pageflow does not have an @jpf forward with the return action. To overcome this error add the following code in your jpf
    * @jpf:action
    * @jpf:forward name="done" return-action="newpageflow1Done"
    public Forward done()
    return new Forward("done");
    This should make your pageflow a nested pageflow
    -Jagan

  • Exceeding max 25 of nested page flows

    I got this error message, can someone help me out? Thanks
    Page Flow, forward overflow
    27 pageflows have been nested, and this number exceeds the nesting maximum of
    25, the stack has been cleared

    Shiye,
         I am not sure from your mail if you want to have such a deeply nested
    stack of page flows and want to get past the limit or if you are seeing
    this behavior when you don't intend to be nesting many page flows. Here
    is a link to some documentation on setting the limit on nested page flows.
         - john
    http://edocs.bea.com/workshop/docs81/doc/en/workshop/guide/netui/guide/conConfiguringPageFlowApplications.html
    Shiye Qiu wrote:
    I got this error message, can someone help me out? Thanks
    Page Flow, forward overflow
    27 pageflows have been nested, and this number exceeds the nesting maximum of
    25, the stack has been cleared

  • Struts Page Flow Diagram Problem

    how can I prevent the struts page flow diagram from automatically modifying the associated source file? It seems whenever I click on the page flow diagram something automatically changes. This shouldn't be.

    btw, it on JDev 10.1.2 but I've also seen it on 10.1.3 when working with JSF and it's graphical faces-config file. I can say that this makes developers very nervous when the graphical file starts modifing the source unexpectedly.

  • Nested page flow

    Can I access to the members defined in
    the nesting pageflow from the nested pageflow?
    Thanks

    I think you can .... try.....
    PageFlowController parentPageFlow = PageFlowUtils.getNestingPageFlow(getRequest());

  • Multiple Browsers with the same Page Flow

    I have a legacy application that I am working on migrating to Weblogic. The
    legacy application allowed the user to have multiple windows of the same
    module open at the same time. Users found this useful if they wanted to look
    at two different records in the same module. For example, if you had a
    registration app and you wanted to look at Joe's registration information
    and Sue's registration. Is it possible to have two browsers within the same
    session open and pointing to the same RegistrationController.jpf?
    Thank You.
    Michelle

    I believe our problem is that our form beans are class members of the page
    flow thus when you open another instance of the same controller the form
    beans are overwritten. Our GUI is displayed as modules containing multiple
    tabs with a form bean for each tab. The module has a controller, signifying
    the page flow for the module. So, one record in a module will span multiple
    tabs. We did not want to have one big form bean that is why we multiple
    form beans. But it now looks like we will need to store these form beans
    perhaps to the session in a collection identified by the window instance
    they belong to.
    We also need to do multiple different page flows but I don't think nested
    page flows will not work here because the page flows would almost need to be
    nested of each other. I guess you could almost think of as each module is
    an independent application however some can be invoked by others.
    <Rich Feit> wrote in message news:[email protected]..
    Hi Michelle,
    Yes, that should be just fine. That page flow will remain the "current
    page flow" as requests from both browser windows hit it. The NetUI
    runtime synchronizes the action methods, so you don't need to worry about
    thread-safety within them.
    There's also a way to have multiple different active page flows at the
    same time, but in this case you don't need to do anything special.
    Rich

  • Multiple instances of Page Flows

    I have a legacy application that I am working on migrating to Weblogic. The
    legacy application allowed the user to have multiple windows of the same
    module open at the same time. Users found this useful if they wanted to look
    at two different records in the same module. For example, if you had a
    registration app and you wanted to look at Joe's registration information
    and Sue's registration. Is it possible to have two browsers within the same
    session open and pointing to the same RegistrationController.jpf?
    We currently have our form beans stored in the page flow which seems to
    cause a problem as when we open another browser instance in the same session
    pointing to the same page flow, the form beans from the first window are
    overwritten. An approach we are possbily looking at is to store the form
    beans in an object in the session and identify a set of form beans as
    belonging to a particular window instance - perhaps by uniquely naming the
    windows as they are opened.
    Has anyone done this before with needing to have multiple instances of the
    same page flow or multiple instances of different non-nested page flows open
    at the same time?
    Michelle

    Hi Vijay,
    Thanks for the reply, But that's not the right aproach.
    I cannot change the application to stateless, Since the standard application where the page resides is statefull.
    Also some of the business logic I cannot achive with stateless application
    Regards
    Geogy

  • Error page flow weblogic sp2

    I was using weblogic platform sp1 and upgraded to sp2 .
    In sp2 i get following error during build.
    ERROR: Controller.jpf:287: There is no @jpf:forward with the
    return-action attribute defined for this nested PageFlowController.
    ERROR:      SUGGESTION: Create a @jpf:forward annotation on an action
    method and mark it with a return-action attribute.
    Can any one help in solving this problem
    tia
    Mahesh

    Mahesh,
    David is correct about the requirement for the return-action attribute but I
    believe this was just as true in the initial 8.1 release.
    - john
    "David Karr" <[email protected]> wrote in message
    news:40631e05$[email protected]..
    >
    I can give you a little background on the problem, which may lead you to asolution.
    >
    When you have a nested page flow, there has to be some way to get out ofthe nested
    page flow and back to the containing page flow. You can see this in theFlow
    View with an action that connects with the red box. The connection betweenthat
    action and the red box represents a jpf:forward with a return-actionattribute.
    The value of the "return-action" attribute is the name of the action tocall
    in the calling page flow.
    You can see useful examples of this in the Avitek EvalGuide example, inthe "RegisterReferralController.jpf"
    for example.
    As you say you're just upgrading from sp1 to sp2, I would guess that therewas
    a change in whether a forward with "return-action" was required or not. Ihave
    no idea.
    "Mahesh" <[email protected]> wrote:
    I was using weblogic platform sp1 and upgraded to sp2 .
    In sp2 i get following error during build.
    ERROR: Controller.jpf:287: There is no @jpf:forward with the
    return-action attribute defined for this nested PageFlowController.
    ERROR: SUGGESTION: Create a @jpf:forward annotation on an action
    method and mark it with a return-action attribute.
    Can any one help in solving this problem
    tia
    Mahesh

  • Multiple entry points into a Page Flow

    Is it possible to define multiple entry points into a PageFlow ? That is, can I forward to an arbitrary Action inside a PageFlow (other then the standard begin) ?
    If so, is there sample code illustrating this ?
    Thank you
    Cristian

    The flow view should show the action from the anchor.
    "Cristian" <[email protected]> wrote in message
    news:405892c9$[email protected]..
    >
    John,
    That answers my questions.
    One more thing though :
    When using an anchor to forward from a jsp to an action in a pageflow,
    the 'Flow View' does not show the corresponding link. Is that normal ?
    Thank you
    Cristian
    "John Rohrlich" <[email protected]> wrote:
    Cristian,
    Yes the samples implicitly go to begin because jumping into the middle
    of
    some flow can lead to code that is difficult to follow and to debug.
    If
    there are pieces of a page flow that are useful in multiple contexts
    you
    might want to make them independent page flows or nested page flows
    You can go from a jsp to an action in another page flow using an anchor
    and
    setting the href attribute, for example
    <netui:anchor
    href="/WebApp/anotherPageFlow/someAction.do">continue</netui:anchor>
    notice that you set href= rather than action= because you are going
    outside
    of the local page flow.
    If you want to go from an action in one page flow to an action in another
    page flow of the same application you can do this
    * @jpf:forward name="success" path="/anotherPageFlow/someAction.do"
    If you want to pass a form to the action you can do that also. You just
    follow the last example and add the form to the forward, for example
    return new Forward("success", someForm);
    I hope that covers it - john
    "Cristian" <[email protected]> wrote in message
    news:405787a2$[email protected]..
    I need to go from either an action or a jsp in one page flow to ajsp/action in another page flow, passing around a session scoped action
    form.
    What is the syntax for the forwarding path ?
    All the samples I found implicitly
    forward to the 'begin()' action in the destination jpf.
    How do I tell it to go to
    another action/jsp in the target jpf ?
    Thanks
    Cristian

  • Javascript popups in page flows?

    Is there a way to make a popup window in a page flow? I want to have a
    link which will use Javascript to pop up a new window, but I don't like
    having to hard code the link to that window instead of using the page
    flow functionality.
    What I've been able to get working is:
    <script language="Javascript">
    function createNew() {
    window.open('/MyPortalWeb/mydir/create_item/create_itemController.jpf','newItemWin','height=500,width=500,scrollbars');
    </script>
    Create New Item
    Is there a way to do this with netui tags, so that I can use actions to
    direct the page flow, and still get the ability to open the link in a
    new window?
    Joe Robins                    Tel: 212-918-5057
    Thaumaturgix, Inc.               Fax: 212-918-5001
    19 W. 44th St., Suite 810          Email: [email protected]
    New York, NY 10036               http://www.tgix.com
    thau'ma-tur-gy, n. the working of miracles.

    Tanya,
    I read this hread from you. I had posted a similar issue yesterday(look for posts
    by Jack). Is ther a way to work with page flows and popup's until sp2 comes out
    in december?
    Thanks
    "tanya" <[email protected]> wrote:
    >
    Apologies, that last message was not complete...
    You can try using:
    <netui:anchor href="/myNestedFlow/Controller.jfp" anchor="A"/>
    But, one thing to note for GA, there is a limitation where you cannot
    call 2 (or
    more) pop ups and expect to maintain 2 pageflow stacks. Only the current
    pageflow
    and it's nested stack are kept in the session. Having a 2nd pageflow
    will stomp
    on this first one.
    For SP2, out sometime in dec, there will be a workaround for this:
    <netui:anchor href="../a/FlowA.jpf" target="_a">
    <netui:parameter name="jpfScopeID" value="scopeA"/>
    Page Flow A (scope "scopeA")
    </netui:anchor>
    <br>
    <netui:anchor href="../b/FlowB.jpf" target="_b">
    <netui:parameter name="jpfScopeID" value="scopeB"/>
    Page Flow B (scope "scopeB")
    </netui:anchor>
    Each scope has its own idea of the current page flow and the current
    stack
    of nested page flows.
    -Tanya
    "tanya" <[email protected]> wrote:
    How about
    Popups and pageflow don't work together in 8.1GA because only the current
    pageflow
    and it's stack (of nested pageflows) is maintained in the session. 8.1sp2
    (out
    sometime in dec) will be able to handle this. It will look something
    like this:
    <frameset cols="50%,50%">
    <frame src="../a/FlowA.jpf?jpfScopeID=scopeA" name="frameA">
    <frame src="../b/FlowB.jpf?jpfScopeID=scopeB" name="frameB">
    </frameset>
    Each scope has its own idea of the current page flow and the current
    stack
    of nested page flows.
    Joe Robins <[email protected]> wrote:
    Is there a way to make a popup window in a page flow? I want to have
    a
    link which will use Javascript to pop up a new window, but I don't
    like
    having to hard code the link to that window instead of using the page
    flow functionality.
    What I've been able to get working is:
    <script language="Javascript">
    function createNew() {
    window.open('/MyPortalWeb/mydir/create_item/create_itemController.jpf','newItemWin','height=500,width=500,scrollbars');
    </script>
    Create New Item
    Is there a way to do this with netui tags, so that I can use actions
    to
    direct the page flow, and still get the ability to open the link ina
    new window?
    Joe Robins                    Tel: 212-918-5057
    Thaumaturgix, Inc.               Fax: 212-918-5001
    19 W. 44th St., Suite 810          Email: [email protected]
    New York, NY 10036               http://www.tgix.com
    thau'ma-tur-gy, n. the working of miracles.

  • Frames in Page Flows

    I have a jsp file which includes 3 frames. ON the page flow I don't see anyway
    to associate the individual frames with the main jsp. Is there a way to work with
    frames?
    Thanks

    Frames and pageflow don't work together in 8.1GA because only the current pageflow
    and it's stack (of nested pageflows) is maintained in the session. 8.1sp2 (out
    sometime in dec) will be able to handle this. It will look something like this:
    <frameset cols="50%,50%">
    <frame src="../a/FlowA.jpf?jpfScopeID=scopeA" name="frameA">
    <frame src="../b/FlowB.jpf?jpfScopeID=scopeB" name="frameB">
    </frameset>
    Each scope has its own idea of the current page flow and the current stack
    of nested page flows.
    -tanya
    "Kush" <[email protected]> wrote:
    >
    I have a jsp file which includes 3 frames. ON the page flow I don't see
    anyway
    to associate the individual frames with the main jsp. Is there a way
    to work with
    frames?
    Thanks

Maybe you are looking for

  • Message CO437, Process order

    Hi Experts, Where we can change message CO437 from warning to error. I checked in OPJB but did not find. The message is there in SE91 transaction. In which transaction we can see the message CO347. Pl help me to change this message. Thanks & Regards,

  • Application not listed in iOS- Settings- "Use Cellular data for"

    Hello, When i install the IPA of my application, it is not listed in the "Use Cellular data for" list in Cellular data Settings. I would like to know how to add my application to this list. Also, is it possible to get the Enabled/Disabled status of t

  • How can I store iTunes movies in my iCloud?

    Please help!!!

  • Why I do not have Siri on my ipad2

    Why I do not have Siri on my ipad2

  • A new newsletter template?

    Difficult to explain but I want to do a Newsletter using A4 (or US equivalent) in 'landscape' mode folding the sheet vertically giving me effectively a brochure of A5 size with 4 sides to read (and admire). I want to be able to do an individual page