将GWT与MVP pattern一起使用,我希望有一个代表更复杂状态的地方(与只有“名称”的规范示例相对)。我的第一个倾向是使用我将为令牌序列化的共享传输对象。但是,Gson(我正在使用的序列化库)似乎与GWT不兼容。
我开始自己手动序列化和反序列化的路径,但这似乎是一个必须相当常见的用例。所以我的问题是:对一个地方的复杂状态进行标记的“普通”方法是什么?
答案 0 :(得分:1)
历史记录令牌是网址的一部分,显示在浏览器地址栏中。要完成这项工作,您首先需要对它们进行序列化,然后对它们进行URL编码。此外,URL的长度还有实际限制:What is the maximum length of a URL in different browsers?
您打算为此网址添加书签吗?如果没有,您只需将对象存储在某个ID下的地图中,并将此ID包含在令牌中。
如果你确实需要走下去,那么在GWT中生成JSON最容易通过Overlay Types完成。
答案 1 :(得分:0)
我们也有这个问题。
我们所做的是在该位置使用对象ID并将对象存储在服务器上,这使得URL更加友好,缺点是额外调用服务器来恢复对象。
此解决方案的另一个优点是您可以控制对象,您可以随时更新它。