2017-04-24 197 views
1

多次导航返回的最佳做法(重定向回)?我用堆栈创建了一个sessionScoped Bean,但这会破坏导航,以防打开不同的标签推送错误的URL。导航回历史

导航示例:

网页A - >网页B - > C页

网页C - >网页B - >一个

如何获得最后浏览的网址,并得到回来,再回来?好吧,我实现了viewParams现在还不知道导航回来。

+0

使用'ViewScoped'来支持多个选项卡。请参见[如何选择正确的bean作用域?](http://stackoverflow.com/questions/7031885/how-to-choose-the-right-bean-scope) –

+0

@JasperdeVries ViewScoped如何帮助我导航回来多次? – MrCodex

+0

你的问题部分太宽泛/不清楚。 –

回答

1

处理导航的最佳模式是依靠客户端浏览器记住它曾经访问过的URL;对于所有框架而言,这不仅仅是JSF。

JSF使得在会话中保持大量不必要的状态变得容易(和诱人)。保持会话范围的bean尽可能轻,并确保正确初始化Web bean所需的所有内容都在视图参数中的URL中编码。这样,无需重新发明轮子,无论客户端打开多少个标签,一切都将毫无意外地发挥作用。

+0

使用SessionStorage来保持带有URL的数组并根据导航推送和弹出是否是不好的做法? – MrCodex

+0

我认为这是不必要的,并且肯定会对错误开放(正如你发现的那样)。它只是复制了客户端浏览器已经在做的事情。 – StuPointerException

+0

我通过URL添加参数传递参数。最佳做法是什么?你说我不应该使用sessionStorage ...你能给我一个更干净的提示吗? – MrCodex