JSF 2 / Trinidad重定向到外部站点并从外部站点返回,保留视图/页面流范围

时间:2012-05-03 22:09:02

标签: redirect jsf-2 viewstate trinidad

我的目标是将用户重定向到外部网站并让他们返回我的网站,但保留Trinidad pageFlowScope。这样我可以在各种页面中进行一些处理和状态保存,将它们发送到外部站点进行一些外部处理,然后让它们回到我的站点完成处理。从用户的角度来看,他们似乎正在进行一个连续的流程,并且可能在不同的浏览器选项卡中同时执行多个这些流程。

我试图转换所有内容的方式,除了状态未恢复之外工作正常,是通过从我的流程中的页面发送帖子到外部网站,然后外部网站回复到我的网站在下一页。它几乎就像在单独的服务器上执行的断开连接的ADF任务流并返回到我的任务流中。

mysite.foo/faces/summary.jsf - > POST externalappserver.foo/faces/startexternal.jsf - >另一页 - > POST myite / foo / faces / continue.jsf

我到处都看了,并且发现了围绕javax.faces.ViewState的各种问题,但没有将其拉出来,将其提供给外部网站,然后让外部网站稍后将其发回给它最初来自不同(或甚至相同)的页面。

关于如何操纵状态的任何想法,以便我可以正确地回到我的网站?

1 个答案:

答案 0 :(得分:0)

我最后通过将Trinidad隐藏的表单参数放在我传递给其他服务的回调URL上来解决这个问题。因此,如果我的服务器/应用是http://localhost:7001/context/pageout.jsf并且它使用回调网址发布到另一个网站,则现在是回拨网址:

http://localhost:7001/context/pageout.jsf?_afPfm=234z345

这允许Trinidad结合浏览器提供的JSESSIONID cookie恢复其页面流。我不需要处理ViewState字段或任何其他会话问题。我的pageFlowScope恢复得很好。