J'ai un GWT App où je dois appeler un webservice pour vérifier si l'utilisateur signé en est un administrateur - puis définissez l'administrateur Div à visible (cachée par défaut) si la le service Web renvoie true.GWT - Masquage ou affichage d'une division à l'exécution
Le problème est le programme passe le contrôle avant que le service Web peut renvoyer le résultat. Il cherche quelque chose comme ça
public class ModelClass{
boolean isAdmin = false;
public ModelClass(){
//Call webservice in constructor, if returns true, set isAdmin to true via setter
}
}
Puis, dans mon widget que je crée une instance de la ModelClass puis dans la dernière étape avant que la page ne sera pas terminé, je vérifie la propriété isAdmin pour voir s'il est vrai, le cas échéant - définir le panneau d'administration pour visible. Peu importe à quel début j'essaie de faire l'appel, et l'heure tardive, je vérifie la propriété, le contrôle d'administration se passe toujours avant le retour de réponse du service Web.
J'ai essayé les auditeurs de changement - mais ils appliquent uniquement aux widgets. J'ai essayé de truquer la propriété en tant qu'étiquette et en utilisant un événement click en appelant click() sur l'étiquette de la réponse du service Web.
Rien ne semble fonctionner - ce que quelqu'un a des idées?
Un problème avec cette approche est que je peux utiliser les outils de dev Firebug ou Chrome pour inspecter les DOM pour trouver la div caché et le montrer. Vous devriez envisager une approche différente de celle qui consiste simplement à le cacher. –