我使用GWT(和/或SmartGWT)構建一個使用多種表單收集數據的Web應用程序。是否可以保存進度,以便用戶可以離開應用程序,何時返回他已經輸入的數據?是否可以保存Web應用程序的狀態
如果是,我必須使用數據庫嗎?
我使用GWT(和/或SmartGWT)構建一個使用多種表單收集數據的Web應用程序。是否可以保存進度,以便用戶可以離開應用程序,何時返回他已經輸入的數據?是否可以保存Web應用程序的狀態
如果是,我必須使用數據庫嗎?
當然。
其中一種方式是使用GWT的RPC框架調用Java servlet。 您不需要數據庫來存儲表單數據,因爲您可以將表單數據存儲在由Java servlet提供的HttpSession對象中。你可以想象HttpSession
有一個內置的數據存儲,允許你存儲任意數量的鍵/值對,每個客戶都有自己的HttpSession
。
你可以參考下面的鏈接/教程來獲得基本的想法。
參考
另一種方法是將數據存儲在瀏覽器中。這樣你就不需要服務器端數據庫。
您可以使用瀏覽器Cookie(注意,餅乾過期...):
http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/gwt/user/client/Cookies.html
或者全新的GWT HTML5存儲API:
http://code.google.com/webtoolkit/doc/latest/DevGuideHtml5Storage.html
http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/gwt/storage/client/Storage.html
因此如果用戶來之後回到應用程序,可以用以前輸入的數據重新加載表單(和其他控件或不是?)? (因爲我在FormPanel中找不到類似saveData()的方法)。 –
您必須使用'HttpSession .setAttribute()'添加要存儲的數據。然後,當用戶回來,如果會話還沒有超時,你可以使用'HttpSession.getAttribute()'來取回這些值來重建表單 –