0

ログイン後にユーザーが誤って F5 または更新ボタンを押した場合、ユーザーは同じページに留まる必要があります。現在、彼はログインページにリダイレクトされています。

次のコードを使用して、同じページにとどまりました。

しかし、onWindowClosing() メソッドに event.setMessage() を記述して、この状況についてユーザーに警告したくありません。間違ってブラウザをリフレッシュしても何も起こらなかったと感じるような機能を作りたいだけです。

[または HOW TO HANDLING EVENT ON CANCEL OF CREATED POPUP SO THAT WILL NOT RELOAD IE of com.google.gwt.user.client.Window.confirm("Do you really want to終了しますか?") ]

    Window.addWindowClosingHandler(new Window.ClosingHandler() {
    @Override
    public void onWindowClosing(ClosingEvent event) {
     //how to prevent sending reload request OR [on cancel button MANUALLY]
    }});
4

1 に答える 1

0

上記のいくつかのコメントで、アクティビティと場所が問題の解決策として言及されました。もちろん、それは素敵でモダンなものです。これらの詳細については、GWT のドキュメントを参照してください。

しかし、その道をたどりたくない場合は、GWT が提供する履歴メカニズムを使用するという別の解決策があります。アプリケーションの各「ページ」(かなりの部分) には、特定のトークンが必要です。あとは、履歴変更ハンドラーを作成し、ユーザーの再読み込みアクションによって渡されたトークンに従って適切なオブジェクトをレンダリングするだけです。ユーザーのログアウト (ブラウザの再起動ではなく) の間に「メモリ」を確保したい場合は、このトークンをローカル ストレージに保存し、ユーザーのログイン後にそれを使用して、ユーザーを最後のページに誘導することができます。

于 2012-07-11T09:44:37.117 に答える