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,所以更容易序列化对象。 –