本文概述
- GWT历史记录令牌
- GWT超链接小部件
- 它提供可靠的浏览器历史记录。
- 它向用户提供了良好的反馈。
- 它可以添加书签, 即用户可以创建当前状态的书签并保存或通过电子邮件发送等。
public class History extends java.lang.Object
GWT历史记录令牌 令牌只是应用程序可以解析以返回特定状态的字符串。该令牌将作为URL片段(在位置栏中的“#”之后)保存在浏览器历史记录中, 并且当用户在历史记录中前进或后退或跟随链接时, 此令牌将传递回应用程序。
示例:历史标记名称srcmini。
【GWT历史记录机制】http://www.example.com/com.example.gwt.HistoryExample/HistoryExample.html#srcmini
GWT历史记录的常用方法
修饰符和类型 | 方法 | 描述 |
---|---|---|
静态HandlerRegistration | addValueChangeHandler(ValueChangeHandler < java.lang.String> 处理程序) | 它添加了ValueChangeEvent处理程序, 以通知浏览器的历史记录堆栈更改。 |
static void | back() | 它等同于用户按下浏览器的“后退”按钮的程序。 |
静态java.lang.String | encodeHistoryToken(java.lang.String historyToken) | 它对历史令牌进行编码, 以用作URI的一部分。 |
static void | fireCurrentHistoryState() | 它使用当前历史记录状态调用ValueChangeHandler.onValueChange(com.google.gwt.event.logical.shared.ValueChangeEvent)事件。 |
静态空隙 | forward() | 它等同于用户按下浏览器的“前进”按钮的程序。 |
静态java.lang.String | getToken() | 它获取当前历史记录令牌。 |
静态空隙 | newItem(java.lang.String historyToken) | 它添加了一个新的浏览器历史记录条目。 |
static void | newItem(java.lang.String historyToken, boolean issueEvent) | 它添加了一个新的浏览器历史记录条目。 |
静态空隙 | replaceItem(java.lang.String historyToken) | 它替换了浏览器历史记录堆栈顶部的当前历史记录令牌。 |
静态空隙 | replaceItem(java.lang.String historyToken, boolean issueEvent) | 它替换了浏览器历史记录堆栈顶部的当前历史记录令牌。 |
public void start(){
setLocale();
this.service=OswServiceFactory.getService();
loadPreferences();
service.setup(getPreference("bosh_path"), getPreference("bosh_host"), getPreference("xmpp_domain"));
History.addValueChangeHandler(new HistoryEventHandler());
History.fireCurrentHistoryState();
if (Storage.isSupported()) {
Storage localStorage=Storage.getLocalStorage();
String username=localStorage.getItem("username");
String password=localStorage.getItem("password");
if (username != null &
&
password != null) {
login(username, password);
return;
}
}
if (!sessionActive) {
showLogin();
}
}
输出:
文章图片
GWT超链接小部件 使用超链接可以很方便地将历史记录支持集成到应用程序中。超链接小部件是看起来像常规HTML锚点的GWT小部件。你可以将历史记录令牌与超链接相关联, 单击它后, 历史记录令牌将自动添加到浏览器历史记录堆栈中。 History.newItem(token)步骤是自动完成的。
处理onValueChange()回调
在ValueChangeHandler中处理onValueChange()回调方法的第一步是使用ValueChangeEvent.getValue()获取新的历史记录令牌, 然后我们将解析该令牌。一旦令牌被解析, 我们就可以重置应用程序的状态。
调用onValueChange()方法时, 应用程序处理两种情况:
- 该应用程序刚刚启动, 并已传递历史记录令牌。
- 该应用程序已在运行, 并已传递历史记录令牌。
推荐阅读
- GWT HTMLPanel用法
- GWT网格用法
- GWT FormPanel用法
- GWT FlowPanel用法
- GWT FlexTable用法
- GWT对话框
- GWT日期框
- GWT数据库
- GWT自定义小部件