We all know that it is possible to write Single Page Applications with JSF 2, by using some clever AJAX updates on a component such as < h:panelGroup >.
Example here: Single Page Applications with JSF
However, I'm wondering if it is possible to use the SPA approach with the Conversation Scope in JSF 2.
As I know, the Conversation Scope relies on the "cid" parameter appended to the URL query string, to locate the correct conversation within a session, which implicitly means it only supports "conventional" multi-page navigation, with full GET or POST requests to load new fresh xhtml pages.
Is there any way to support the SPA approach and the Conversation Scope ? In other words, when updating a panel on the screen with a new facelet fragment, references to a Conversation Scoped bean should still refer to the same instance, instead of creating a new one ( because of the lack of a "cid" parameter in the URL )
Thanks a lot in advance !
Problem solved!! It turns out that there was a mistake when trying to start a Conversation. We were checking if (! conversation.isTransient()) ( false ) instead of true, for determining if conversation.begin() should be executed. After fixing that clumsy mistake, Conversation Scoped beans just started to behave as expected, even with SPA navigation. AMAZING !