1

アプリケーションの起動時にサーバーへの非同期呼び出しを実行したい (ユーザーのブラウザーに読み込まれている)。

サーバーと通信するには、RestyGWT を使用します。

アプリケーションの起動時にサーバーを呼び出して、ユーザーがログインしているかどうかを確認します (彼の Cookie/トークンはまだ有効ですか)? トークンがまだ有効な場合は、ログインしているユーザーのページにユーザーをリダイレクトしたいと思います。loginそうでない場合は、ページにリダイレクトしたい

たとえば、クライアントアプリの urls 内でもこれを機能させたいと思いますhttp://localhost:8080/cms/#/admin。アプリ内からこの URL を入力すると、機能します。この URL を入力すると、デフォルトのページにリダイレクトされます。

助けてください。

これが私のサービス実行コードです:

service.isCurrentUserLoggedIn(new MethodCallback<Boolean>() {
    @Override
    public void onFailure(Method method, Throwable exception) {
    MaterialToast.fireToast("Fail to check is current user logged in " + method + " " + exception.getLocalizedMessage());
    }

    @Override
    public void onSuccess(Method method, Boolean response) {
    currentUser.setLoggedIn(response);
    getView().setLoginButtonVisbility(response);
    }
});

クラスコンストラクターの AppPresenter でこれを行いましたが、これは間違っていると思います。

4

2 に答える 2

0

解決策は、実装する独自のBootstrapperクラスを作成することですcom.gwtplatform.mvp.client.Bootstrapper

そして、このクラス内void onBootstrap()で実行するメソッドを実装service.isCurrentUserLoggedIn(new MethodCallback<Boolean>() {}) し、回答結果に基づいて、ログインまたは現在の場所にリダイレクトします。

ここに公式ドキュメントがあります。

于 2016-03-23T09:54:20.660 に答える