2016-03-11 1 views
1

Je souhaite exécuter un appel asynchrone au serveur lorsque l'application démarre (ont été chargés dans le navigateur des utilisateurs).GWTP comment exécuter du code lors de l'initialisation/démarrage de l'application

Pour communiquer avec le serveur, j'utilise RestyGWT. Au démarrage de l'application, je veux appeler le serveur pour vérifier que l'utilisateur est connecté (son cookie/jeton est toujours valide)? Si le jeton est toujours valide, je souhaite rediriger l'utilisateur vers la page pour les utilisateurs connectés. Sinon je voudrais rediriger vers la page login

Je voudrais travailler aussi pour ce intérieur app client urls, par exemple: http://localhost:8080/cms/#/admin. Quand j'entre cette URL de l'intérieur de l'application, cela fonctionne. Quand j'entre cette url il me redirige vers la page par défaut.

Aidez-nous s'il vous plaît.

Voici mon service code d'exécution:

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); 
    } 
}); 

Je l'ai fait dans AppPresenter dans le constructeur de classe, mais c'est je pense mal.

Répondre

0

La solution est de créer propre Bootstrapper classe qui implémente com.gwtplatform.mvp.client.Bootstrapper

et à l'intérieur de cette classe implémente la méthode void onBootstrap() où j'exécute service.isCurrentUserLoggedIn(new MethodCallback<Boolean>() {}) puis la base du résultat de la réponse, réoriente pour se connecter ou lieu actuel.

Here is official documentation.

0

Je pense que cela devrait suffire si vous quittez le constructeur et la méthode onBind(). Bien que je suppose que c'est dans votre présentateur révélé en racine et vos autres présentateurs sont révélés dans les fentes de présentateurs racine.

+0

Malheureusement, il ne fonctionne pas. – masterdany88