Html5僅支持存儲鍵和值的字符串。GWT Html5存儲非字符串值
已知哪些方法可以打破此限制,尤其是在GWT的情況下?
是否有庫或框架處理這種情況?
標準庫的某些代碼是否有用?
編輯
我願做最自然的方法:
GET /請求數據形式緩存/存儲, 如果不可用,則通過GWT-RPC請求它
Html5僅支持存儲鍵和值的字符串。GWT Html5存儲非字符串值
已知哪些方法可以打破此限制,尤其是在GWT的情況下?
是否有庫或框架處理這種情況?
標準庫的某些代碼是否有用?
編輯
我願做最自然的方法:
GET /請求數據形式緩存/存儲, 如果不可用,則通過GWT-RPC請求它
AutoBeans對此非常好 - 只需定義一個bean接口和一個工廠接口,AutoBeans將解決如何將數據轉換爲JSON(或其他一些stringy數據)並返回的其他細節。
這個提問/回答討論如何這可能都與JavaScriptObject子類,並與AutoBeans加以解決:Cache in GWT app/widget with HTML5 localStorage
如果可能的編碼幾種不同的類型,這在幾個月前來到了一個答案可能會有所幫助:Parsing JSON objects of unknown type with AutoBean on GWT
如果您使用來自RPC的數據,事情會變得棘手。首先,你必須考慮RPC序列化機制爲了單向傳輸(儘管它們中有兩個,每個方向一個),以防止某些服務器 - >客戶端對象在服務器上出於安全原因被反序列化。其次,請記住,每次模型更改或RPC接口發生更改時,由於序列化格式已被修改,服務器和客戶端不再可以親眼目睹 - 應用程序的localStorage緩存會有一些數據在某些內容之後不再被讀取更新。
您可以試試GWT-Storage https://github.com/seanchenxi/gwt-storage。 它可以幫助您在HTML存儲中存儲對象值。
我想要做的最自然的方法:獲取數據表單緩存/存儲,如果不可用,然後通過RPC請求它。所以我認爲AutoBeans不會進入這個szenario。我打算調查RPC。雙向的方面並不傷害我。 localStorage的更新問題對我來說似乎很管用。 –
如果您碰巧使用了RequestFactory,它是RPC的替代品,它已經使用autobeans,所以更容易序列化對象。 –