私はアプレットによって、あなたが実際にクライアントからGWTによって生成されたJavaアプレットが、HTMLとJavascriptを意味するものではありません推測している:
ここでは、アプレットからハッシュフラグメントを変更する方法の1例です。 Javaコード。これらの概念を混同しないように注意してください。 GWTプロジェクトには、クライアントJavaコード(コンパイル時にHTMLとCSSに変換されます)とサーバーJavaコードがあり、そのままサーバーに展開されます。サーバーサイドでHistory.newItem(...)を呼び出すのは意味がありません。クライアントのJavaに入るコードです.Javascriptに変換され、ブラウザで呼び出されます(ナビゲーション履歴はブラウザ)。
また、ここでやりたいことは、HTTPリダイレクトをサイトごとに行うのではなく、添付されているアンカーを使用して別のGWTページ/ウィジェットに移動することだけです。また、ブラウザの「戻る」ボタンと「進む」ボタンを適切に使用できるように、これをブラウザの履歴の履歴に入れたいと思っています。このためには、GWTメインクラスにValueChangeHandler<String>
インターフェイスを実装し、public void onValueChange(ValueChangeEvent<String> event)
を実装し、受信したアンカーをイベントから解析し、それに応じてビューを変更するだけです。ユーザーは、新しいイベントをISSEするために、ユーザ履歴クラス、ボタンか何かをクリックしたときに続いて、このような何か:。
History.newItem("Home", true);
(真のイベントが生成されることを意味しますそうでなければあなただけ追加しますブラウザの履歴スタックへの「ホーム」トークン)。
これは、 "ホーム"トークンを含むイベントでonValueChange(...)
と呼ばれ、そこにそのトークンを解析して何でもしてもかまいません。
http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/History.html#newItem(java.lang.String、ブール値