GWT 历史机制17 Mar 2025 | 阅读 2 分钟 GWT 历史机制类似于 Ajax 历史实现,例如 RSH (Really Simple History)。 基本思想是在 URL 片段标识符中跟踪应用程序的 内部状态。 这种机制的主要优点是 - 它提供可靠的浏览器历史记录。
- 它为用户提供了良好的反馈。
- 它是 可书签的,即用户可以为当前状态创建书签并保存它,或者可以通过电子邮件发送等。
GWT 历史语法
GWT 历史令牌令牌只是一个字符串,应用程序可以对其进行解析以返回到特定状态。 此令牌将作为 URL 片段(在地址栏中,在“#”之后)保存在浏览器历史记录中,当用户在历史记录中后退或前进,或单击链接时,此片段将传递回应用程序。 示例: 历史令牌名称 javatpoint。 http://www.example.com/com.example.gwt.HistoryExample/HistoryExample.html#javatpoint GWT 历史常用方法修饰符和类型 | 方法 | 描述 |
---|
static HandlerRegistration | addValueChangeHandler (ValueChangeHandler<java.lang.String> handler) | 它添加一个 ValueChangeEvent 处理程序,以通知浏览器历史堆栈的更改。 | static void | back() | 它相当于用户按下浏览器的“后退”按钮。 | static java.lang.String | encodeHistoryToken(java.lang.String historyToken) | 它对历史令牌进行编码,以便用作 URI 的一部分。 | static void | fireCurrentHistoryState() | 它使用当前历史状态调用 ValueChangeHandler.onValueChange (com.google.gwt.event.logical.shared.ValueChangeEvent) 事件。 | static void | forward() | 它相当于用户按下浏览器的“前进”按钮。 | static java.lang.String | getToken() | 它获取当前历史令牌。 | static void | newItem(java.lang.String historyToken) | 它添加一个新的浏览器历史记录条目。 | static void | newItem(java.lang.String historyToken, boolean issueEvent) | 它添加一个新的浏览器历史记录条目。 | static void | replaceItem(java.lang.String historyToken) | 它替换浏览器历史堆栈顶部的当前历史令牌。 | static void | replaceItem(java.lang.String historyToken, boolean issueEvent) | 它替换浏览器历史堆栈顶部的当前历史令牌。 |
GWT 历史示例输出 
GWT 超链接小部件超链接使用起来很方便,可以将历史记录支持集成到应用程序中。 超链接小部件是 GWT 小部件,看起来像普通的 HTML 锚点。 您可以将历史令牌与超链接关联,当单击它时,历史令牌会自动添加到浏览器历史堆栈中。 History.newItem(token) 步骤是自动完成的。 处理 onValueChange() 回调 处理 ValueChangeHandler 中的 onValueChange() 回调方法的第一步是使用 ValueChangeEvent.getValue() 获取新的历史令牌,然后我们将解析该令牌。 解析令牌后,我们可以重置应用程序的状态。 当调用 onValueChange() 方法时,应用程序会处理两种情况 - 应用程序刚启动,并传递了一个历史令牌。
- 应用程序已经在运行,并传递了一个历史令牌。
|