2010-08-06 57 views
3

請給我關於GWT中的數據管理的想法。我在我的旅行門戶項目中使用Gwt,我的網頁與之前的頁面數據有關,但是當我按下瀏覽器的刷新按鈕時,我的數據丟失了。所以請告訴我是否有任何方法可以解決這個問題。歷史管理(刷新按鈕)

回答

0

的基本思想是將存儲在URL fragment(URL的#後的部分),一些國家 - 例如your-site.com/app#page-1

要偵聽更改片段,使用GWT的History類。當用戶返回/轉發或刷新頁面時,片段將會更改。

所以你可以有你的應用程序做不同的事情時,URL有#page-1 VS #page-2

一個更廣義的和可擴展的解決方案,這是一樣的東西gwt-platformPlace架構(與演示,這是沿對於大型應用程序也是一個好主意)

1

GWT歷史類不能用於管理頁面刷新(僅後退/前進)。

單擊刷新按鈕向服務器發送請求,並從服務器重新加載應用程序的狀態。就這樣。你必須處理它。

如果您不想丟失數據,則必須找到一種方法在需要時將其保存在服務器上。

1

如果您的用戶擁有現代瀏覽器,則可以使用HTML5功能localStorage將頁面刷新之間的數據存儲在瀏覽器中。

檢查this支持的瀏覽器的線程。

1

您可以創建一個url片段來編碼您的數據。

String location =「ny」; History.newItem(「location =」+ location);

將與www.example.com#位置=紐約

網址片段的結果,那麼,如果刷新瀏覽器,您可以解碼網址片段,並確定該位置是紐約。

對於多個參數,您可以創建一個複雜的片段並對其進行解析。

History.newItem(「start =」+ startLocation +「& end =」+ endLocation); 然後該網址看起來像www.example.com#start = newyork & end = boston