GWT:标记复杂场所

问题描述

| 通过将MWT与MVP模式结合使用,我想拥有一个代表某种更为复杂状态的位置(与仅具有“名称”的规范示例相反)。我的第一个倾向是使用一个共享传输对象,该对象将为令牌序列化。但是,Gson(我正在使用的序列化库)似乎与GWT不兼容。 我开始手动进行序列化和反序列化,但这似乎是一个用例,必须非常普遍。所以我的问题是:标记位置的复杂状态的“普通”方式是什么?     

解决方法

        历史记录令牌是URL的一部分,并显示在浏览器地址栏中。要进行这项工作,您首先需要对它们进行序列化,然后对它们进行URL编码。 URL的长度也有实际限制:不同浏览器中URL的最大长度是多少? 您打算将此URL加为书签吗?如果没有,您应该仅将对象存储在地图中的某个ID下,并将此ID包含在令牌中。 如果确实需要沿路线走,那么通过覆盖类型最容易在GWT中生成JSON。     ,        我们也有这个问题。 我们所做的是在该位置使用对象ID并将对象存储在服务器上,这使URL更加友好,缺点是需要额外调用服务器来恢复对象。 此解决方案的另一个优点是您可以控制对象,可以随时对其进行更新。