0 Replies Latest reply on Jan 21, 2011 6:06 AM by nias

    Begin-End conversations from ajax-calls

    nias
      Hello,

      i have a stateful jpdl-pageflow which navigates with ajax calls thru different views. This works fine and was a really fast way to navigate on a complex page without reload the whole page.

      Now i want to start/end conversations during the pageflow like the following:

      View ac_edit.xhtml contains
      <a4j:commandLink value="Zurück zur Suche" styleClass="back_long" action="backToSearch" />

      the pageflow has the following action for this:

      <page view-id="/portlets/widgets/aquisition/acedit.xhtml" name="ACEdit">
      <transition name="backToSearch" to="ACSearch">
      <action expression="#{ac_edit.cancel}"></action>
      </transition>

      and the ac_edit.cancel function looks like:

      @End(beforeRedirect = true)
      public void cancel() {
      }

      i've debugged the Conversation-End function and i see there was no observer registered for the EVENT_CONVERSATION_END:


      therefore the current conversation doesn't end and was reused for rendering the next view ("ACSearch", result of the ajax call).
      if i'm use an h:commandLink instead of the ajax one, it works as expected.
      But a full page reload is not acceptable, cause the page is complex and full page rendering lasts too long.