首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

GWT 对 HTML5 storage 的支持和实现(2)

GWT 对 HTML5 storage 的支持和实现(2)

HTML5 Storage 在 GWT 中的支持GWT 简介:GWT(http://code.google.com/webtoolkit)是 Google Web Toolkit 的简写。它是 Google 公司发布的基于 Java 语言开发 Web2.0 应用的工具包。在使用 GWT 开发 Web 应用时,开发人员是通过编写 Java 代码来创建 Web 界面中的组件。这样对于 Web 开发人员可以提高开发效率,更方便的调试。GWT 而在与后台交互方面,GWT 也实现了对 Ajax 的封装。本文将不会对 GWT 进行深入的讲解,如果您对这部分内容感兴趣可以参考   中 GWT 的相关专题。
GWT 对于 Storage 的支持:GWT 在 2.3 版本后开始支持 HTML5 Storage,我们可以使用 GWT 提供的标准类库,并且在支持 HTML5 的浏览器上来使用 HTML5 Storage 的功能。下面我们具体看一下 GWT 针对 HTML5 都提供了哪些类。
com.google.gwt.storage.client.Storage: 是必须导入的类,这个类实现了 HTML5 Storage 接口。
表 1.Storage方法名描述 为 StorageEvents 增加一个 event handler. ()删除 Storage 中的元素 (java.lang.String key)返回 Storage 中知道的元素 . ()返回 Storage 中数据的个数.getLocalStorageIfSupported()返回一个 Local Storage 对象 返回一个 Session Storage 对象. ()如果当前运行的平台支持 localStorage 则返回 True  ()如果当前运行的平台支 sessionStorage 则返回 True ()如果当前运行的平台同时支持 localStorage 和 sessionStorage 则返回 True (int index)根据指定的索引,返回 Storage 对象中对应的 key  (java.lang.String key)根据指定的键值删除 storage 中的一组数据.
  • LocalStorage:interface WindowLocalStorage
        {readonly attribute Storage localStorage;};
        Window implements WindowLocalStorage
  • SessionStorage:interface WindowSessionStorage {
         readonly attribute Storage sessionStorage;
         };
         Window implements WindowSessionStorage
  • StorageEvent 当 Storage 对象被改变使,将会触发 Storage Event.
  • StorageEvent.Handler (interface for storage event handlers)Represents an Event handler for  s.
  • StorageMap (exposes the Storage object as a standard Map) 这是个很有用的类,创建一个 Map,为我们提供了对于 Storage 对象的相关操作的方法。
如何在 Web 应用中使用 HTML5 Storage我们在使用 HTML5 Storage 时,首先需要获得 Storage 对象, 获得 Storage 对象用Storage.getLocalStorageIfSupported() 或 Storage.getSessionStorageIfSupported() 这两个方法,到底用哪一个取决于我们究竟使用哪一种类型的 Storage。我们所有的浏览器可能不支持 Storage,所以在使用时,我们应该去检查一下浏览器是否支持 Stroage.如果浏览器支持的话,我们一般根据具体的需求进行存储或者修改 Stroage 对象。同时我们也可以根据需要删除 Storage 对象中的一对对象或者删除掉整个 Storage 对象。 接下来我们根据以上几个方面详细讲解一下,GWT 中是如何实现上述 Storage 的基本需求的。
检测浏览器是否支持 HTML5 && 获得 Storage 对象GWT 提供了一个简单的方式去检测浏览器是否支持 HTML5 Storage, 在获得 Storage 对象的方法中可以同时判断.浏览器是否支持。 我们使用 Storage.getLocalStorageIfSupported() 或者 Storage.getSessionStorageIfSupported(),这两个方法分别获得 LocalStorage 对象和 SessionStorage 对象。 如果浏览器支持将会返回您需要的 Storage 对象,如果不支持将会返回 null 值。
清单 1
1
2
3
4
  import com.google.gwt.storage.client.Storage;
  private Storage stockStore = null;
  stockStore = Storage.getLocalStorageIfSupported();//返回 LocalStorage
//   stockStore = Storage.getSessionStorageIfSupported();//返回 SessionStorage

返回列表