GWT的历史和地点之间有什么区别/关系?

时间:2015-01-28 20:32:05

标签: ajax gwt

根据我的观察,历史记录用于具有多个AJAX交互的单个html页面。它只是将每个状态分配给特定的令牌以区分(或标记)它们。而对于Places,它用于不同的html页面。它将每个html页面分配给字符串标记。

他们之间有什么关系吗?我理解正确吗?

1 个答案:

答案 0 :(得分:4)

official documentation中所述:

  

一个地方是表示UI特定状态的Java对象。通过为每个场所定义PlaceTokenizer,可以将场所转换为URL历史令牌(请参阅GWT的历史记录机制),并且GWT的PlaceHistoryHandler会自动更新与应用中每个场所对应的浏览器URL。

因此,您可以将地方和活动视为比历史更高级别。例如,您可以使用History.newItem("token")更改历史记录标记,从而转到应用程序中的新“位置”。但您可以使用PlaceController执行相同操作:placeController.goTo(new TokenPlace())TokenPlace与历史记录token显式关联,在到达此地点时实例化Activity类等。在引擎盖下,History.newItem("token")仍然会被调用,但是您不必担心手动管理历史令牌。作为奖励,您的应用程序可能会变得更少耦合,因为现在Activity1无需了解Activity2 - Activity1只需触发移动到新地点。它并不关心与之相关的活动。