2017-04-24 255 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