2016-03-24 33 views
0

我們都知道,通過在諸如< h:panelGroup>的組件上使用一些聰明的AJAX更新,可以使用JSF 2編寫單頁應用程序。JSF 2.2對話範圍+ SPA(單頁面應用)

這裏舉例: Single Page Applications with JSF

不過,我想知道是否可以使用SPA方法與對話範圍在JSF 2

據我所知,對話範圍依賴將「cid」參數附加到URL查詢字符串中,以在會話中查找正確的對話,這隱含地意味着它僅支持「常規」多頁導航,並具有完整的GET或POST請求來加載新鮮的xhtml頁面。

有什麼方法可以支持SPA方法和對話範圍嗎? 換句話說,當使用新的facelet片段更新屏幕上的面板時,對Conversation Scoped bean的引用仍應引用相同的實例,而不是創建一個新實例(因爲缺少「cid」參數URL)

非常感謝!

+0

所以你還沒有真正測試過它?爲什麼不?如果你真的這麼做了,你會很久以前知道它默認情況下是正常工作。 – BalusC

+0

感謝您的回覆。我實際上「嘗試」測試它,但由於缺乏對這個特定主題的瞭解,未能成功。因此,我可能正在尋找的是某種「工作片段示例代碼」... –

+0

您基本上要求使用「無Bootsfaces的標準JSF工作片段示例代碼」?在這種情況下,這有幫助嗎? http://stackoverflow.com/q/7108668 – BalusC

回答

0

問題解決!!事實證明,嘗試開始對話時出現了錯誤。我們正在檢查是否( conversation.isTransient())(false)而不是true,以確定是否應該執行conversation.begin()。在解決了這個笨拙的錯誤之後,即使使用SPA導航,Conversation Scoped豆也開始像預期的那樣行事。驚人 !