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.