Gwt-history-class
GWT-履歴クラス
GWTアプリケーションは通常、JavaScriptを実行する単一ページのアプリケーションであり、多くのページを含まないため、ブラウザーはユーザーとアプリケーションとの対話を追跡しません。 ブラウザの履歴機能を使用するには、アプリケーションはナビゲーション可能なページごとに一意のURLフラグメントを生成する必要があります。
GWTは、この状況を処理するための*履歴メカニズム*を提供します。
GWTは、*トークン*という用語を使用します。これは、アプリケーションが特定の状態に戻るために解析できる単なる文字列です。 アプリケーションはこのトークンをブラウザーの履歴にURLフラグメントとして保存します。
たとえば、「pageIndex1」という名前の履歴トークンは次のようにURLに追加されます-
履歴管理ワークフロー
ステップ1-履歴サポートを有効にする
GWT Historyサポートを使用するには、最初に次のiframeをホストHTMLページに埋め込む必要があります。
ステップ2-トークンを履歴に追加する
次の例の統計は、ブラウザの履歴にトークンを追加する方法を示しています
ステップ3-履歴からトークンを取得する
ユーザーがブラウザの戻る/進むボタンを使用すると、トークンを取得し、それに応じてアプリケーションの状態を更新します。
次に、動作中の履歴クラスを見てみましょう。
履歴クラス-完全な例
この例では、簡単な手順でGWTアプリケーションの履歴管理を説明します。 次の手順に従って、_GWTで作成したGWTアプリケーションを更新します-アプリケーションの作成_の章-
Step | Description |
---|---|
1 | Create a project with a name HelloWorld under a package com.finddevguides as explained in the GWT - Create Application chapter. |
2 | Modify HelloWorld.gwt.xml, HelloWorld.css, HelloWorldl and HelloWorld.java as explained below. Keep rest of the files unchanged. |
3 | Compile and run the application to verify the result of the implemented logic. |
以下は、変更されたモジュール記述子 src/com.finddevguides/HelloWorld.gwt.xml の内容です。
以下は、変更されたスタイルシートファイル war/HelloWorld.css の内容です。
以下は、変更されたHTMLホストファイル war/HelloWorldl の内容です。
Javaファイル src/com.finddevguides/HelloWorld.java の次の内容を使用して、GWTコードでの履歴管理のデモを行います。
すべての変更が完了したら、link:/gwt/gwt_create_application [GWT-アプリケーションの作成]の章で行ったように、アプリケーションをコンパイルして開発モードで実行します。 すべてがあなたのアプリケーションでうまくいけば、これは次の結果を生成します-
- 各タブをクリックして、異なるページを選択します。
- 各タブを選択すると、アプリケーションのURLが変更され、#pageIndexがURLに追加されることに注意してください。
- ブラウザの戻るボタンと進むボタンが有効になっていることも確認できます。
- ブラウザの「戻る」ボタンと「進む」ボタンを使用すると、それに応じて異なるタブが選択されます。