Html5 支持仅存储键 AND 值的字符串。
哪些方法可以打破这个限制,尤其是在 GWT 的背景下?
是否有处理这种情况的库或框架?
标准库的一些代码对此有用吗?
编辑
我想做最自然的方法:
从缓存/存储中获取/请求数据,如果不可用,则通过 GWT-RPC 请求
AutoBeans 非常适合这一点 - 只需定义一个 bean 接口和一个工厂接口 AutoBeans 将解决如何将数据转换为 JSON(或其他一些字符串数据)并再次返回的其余细节。
这个问题/答案讨论了如何使用 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 存储中。