1

履歴からデータを取得して UI を再生成する方法を示すを試しました。すべての「履歴の使用」の例で主に見られるのは、UI の再生成のみに関連しているため、静的ではない方法です...

しかし、「各UI状態には、JSFがフローで行うような一意のURLがある場合があります」はどうですか? たとえば、次のようなアプリの URL があります。

http://localhost:8080/myapp/MyApp.html

アプリのデフォルト UI には、テスト カタログをナビゲートするのに役立つメイン メニューが含まれています。このようにURLを構築することで、UIダイナミクスを履歴に残すことができるようにしました

http://localhost:8080/myapp/MyApp.html#menu_testcategory_page1

しかし、インターネットブラウザの「更新」ボタンをクリックすると、URLは同じままhttp://localhost:8080/myapp/MyApp.html#menu_testcategory_page1ですが、UIはデフォルトの状態に戻ります:(

だから私の質問は

ブラウザの更新ボタンがクリックされた後でも、純粋な gwt で同じ UI 状態を維持する最適な方法はありますか (アンロード/ロード ウィンドウ イベントが発生することを意味します)。

ありがとう

PS gwt 2.3

4

2 に答える 2

3

アクティビティと場所のパターンを実装する必要があります: http://www.gwtproject.org/doc/latest/DevGuideMvpActivitiesAndPlaces.html

3年ほど使用していますが、とても調子がいいです。

ただし、ページをリロードすると、すべての状態やデータなどが失われることに注意してください。一部を保持する必要がある場合は、場所 (#page1) と、対応するページに通知するトークンの組み合わせを使用できます。この場所を表すビューの状態、つまり (#page1:item=5) をアクティビティします。

于 2014-03-08T16:00:09.783 に答える
1

あなたはおそらく電話するのを忘れただけです

History.fireCurrentHistoryState();

あなたのエントリーポイントから。

于 2014-03-08T16:05:02.553 に答える