📜  GWT-书签支持(1)

📅  最后修改于: 2023-12-03 15:15:27.490000             🧑  作者: Mango

GWT-书签支持

简介

GWT-书签支持是一个用于Google Web Toolkit(GWT)框架的插件,可以方便地为GWT应用程序添加书签支持。

特点
  • 解决了浏览器书签无法直接访问GWT应用程序的问题
  • 支持添加自定义书签参数
  • 可以在任何GWT应用程序中使用
安装

要使用GWT-书签支持,您需要遵循以下步骤:

  1. 下载GWT-书签支持插件并解压缩。

  2. 在GWT项目中的主页(一般是index.html)文件中添加以下代码片段:

<script type="text/javascript" language="javascript" src="gwt-bookmark-support.js"></script>
  1. 在项目的入口点类中添加以下代码片段:
import com.google.gwt.user.client.History;

public void onModuleLoad() {
  // 绑定 history handler
  History.addValueChangeHandler(new com.google.gwt.event.logical.shared.ValueChangeHandler<String>() {
    @Override
    public void onValueChange(com.google.gwt.event.logical.shared.ValueChangeEvent<String> event) {
      String historyToken = event.getValue();
      // 处理 history token,比如解析参数等
    }
  });
  // 初始化历史管理
  History.fireCurrentHistoryState();	
}

这些步骤完成后,您就可以在浏览器书签中访问您的GWT应用程序了。

使用
添加参数

您可以在生成书签链接时添加自定义参数,比如以下代码片段:

String bookmarkUrl = "#" + "page=home&view=grid";
History.newItem(bookmarkUrl);

书签链接会被生成为www.yoursite.com/#[bookmarkUrl],在浏览器中打开后,如果您在浏览器书签中添加了这个链接,就可以直接访问相应页面。

解析参数

您可以在绑定history handler的时候解析任何参数,比如以下代码片段:

// 解析参数
String token = History.getToken();
if (token == null || token.trim().equals("")) {
  return;
}
Map<String, String> paramMap = new HashMap<String, String>();
String[] paramArray = token.split("&");
for (String param : paramArray) {
  String[] kvArray = param.split("=");
  paramMap.put(kvArray[0], kvArray[1]);
}
总结

使用GWT-书签支持可以让您的GWT应用程序更加方便地被用户访问和管理。这个插件的安装和使用都非常简单,您只需要按照上述步骤操作即可。