GWT 中历史和地点之间的 difference/relationship 是什么?

What's the difference/relationship between history and places in GWT?

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

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

official documentation 中所述:

A place is a Java object representing a particular state of the UI. A Place can be converted to and from a URL history token (see GWT’s History mechanism) by defining a PlaceTokenizer for each Place, and GWT’s PlaceHistoryHandler automatically updates the browser URL corresponding to each Place in your app.

因此您可以将地点和活动视为高于历史的更高层次。例如,您可以通过使用 History.newItem("token") 更改历史标记来转到应用程序中的新 "place"。但是您可以使用 PlaceController 来做同样的事情:placeController.goTo(new TokenPlace())TokenPlace 与历史标记 token 显式关联,在到达此位置时实例化 Activity class,等等。在幕后,History.newItem("token") 仍将被调用,但您不必担心手动管理历史标记。作为奖励,您的应用程序可能会变得不那么耦合,因为现在 Activity1 不需要知道任何关于 Activity2 的信息 - Activity1 只需触发移动到一个新的地方。它不关心它与哪个 activity 关联。