2016-03-24 19 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豆也开始像预期的那样行事。惊人 !