IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

pb de page avec gwt


Sujet :

GWT et Vaadin Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Par défaut [GWT] Mise en page
    bonjour

    j'ai un problème dans mon code ,qui fait l'authentification
    lorsque je tape login et acceuil il me cré une autre fenétre acceuil.html mais quand j'écris rien il va aussi a cette page alors je veux qu'il m'affiche une alerte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    public class Example implements EntryPoint {
    	private Label Bienvenue;
    	//private SessionInfo sessionInfo = null;
    	//private static PersonneInfoContext personneInfoContext;
    	private String userId;
     
    	      public void onModuleLoad() {
    	            RootPanel rootPanel = RootPanel.get();
     
      final VerticalPanel verticalPanel = new VerticalPanel();
      rootPanel.add(verticalPanel);
      verticalPanel.setSize("100%", "100%");
      verticalPanel.setVerticalAlignment
       (HasVerticalAlignment.ALIGN_MIDDLE);
       verticalPanel.setHorizontalAlignment
      (HasHorizontalAlignment.ALIGN_CENTER);
       Bienvenue =new Label("Bienvenue");
       verticalPanel.add(Bienvenue);	  
     
      // Table dans laquelle on place les éléments
      final FlexTable flexTable = new FlexTable();
      verticalPanel.add(flexTable);
      flexTable.setStyleName("example-verticalpanel");
     
      // Bouton de validation
      final Button validateButton = new Button();
      flexTable.setWidget(2, 2, validateButton);
      validateButton.setText("Validate");
       // Login label + text box
      final Label loginLabel = new Label("Login");
      flexTable.setWidget(0, 0, loginLabel);
      final TextBox login = new TextBox();
      flexTable.setWidget(0, 1, login);
      login.setWidth("200px");
     
       // Password label + text box
      final Label passwordLabel = new Label("Password");
      flexTable.setWidget(1, 0, passwordLabel);
      final TextBox password = new TextBox();
      flexTable.setWidget(1, 1, password);
      password.setWidth("200px");
     
      final MyServiceAsync svc = (MyServiceAsync) GWT.create(MyService.class);
        ServiceDefTarget endpoint = (ServiceDefTarget) svc;
        endpoint.setServiceEntryPoint("/myService");
     
        Button closeButton = new Button("Deconnection");
     
     
     
       // CheckBox rememberMeOnCheckBox = new CheckBox();
    	//flexTable.setWidget(2, 1, rememberMeOnCheckBox);
    	//rememberMeOnCheckBox.setText("Remember me on this computer.");
     
     
         validateButton.addClickListener(new ClickListener() {
     
      public void onClick(Widget sender) {
     
      AsyncCallback callback = new AsyncCallback() { 
      public void onSuccess(Object result) {
    	  Personne p;
    	  p = new Personne();
     
    	  com.google.gwt.user.client.Window.open("acceuil.html","login","paswword");
    	  /*("acceuil.html?login=" + login.getText() +
                   "&password=" + password.getText(), "", "");*/
    	        	                                }
     
      public void onFailure(Throwable ex) {
     
    	  com.google.gwt.user.client.Window.alert("erreur");
    	     }
    	 };
         svc.Login(login.getText(),password.getText(), callback);
    	                	}
              });
     
     
    	  closeButton.addClickListener(new ClickListener() {
     
    	    	    public void onClick(Widget sender) {
     
    	    	    Example.this.Deconnecte(); 
    	    	    }
    	    	    }); 
    	  }
     
    	public String Deconnecte(){
     
    		return null;
    	}
      0  0

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Par défaut
    merci pour tes conseille ainssi que tes aides, voila je t'explique le probléme :quand je saisis Login et Password il se dérige vers page Acceuil.html,mais le probléme il m'affiche pas ( Alert "d'erreur") quand je aisis rien (si les deux champ sont vide) pourtant j'ai bien le test dans la classe MyServiceImpl:

    voila les deux codes:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
     
    package com.mycompany.project.client;
     
    import com.google.gwt.core.client.EntryPoint;
    import com.google.gwt.core.client.GWT;
    import com.google.gwt.user.client.Window;
    import com.google.gwt.user.client.rpc.AsyncCallback;
    import com.google.gwt.user.client.rpc.ServiceDefTarget;
    import com.google.gwt.user.client.ui.Button;
    import com.google.gwt.user.client.ui.ButtonBase;
    import com.google.gwt.user.client.ui.CheckBox;
    import com.google.gwt.user.client.ui.ClickListener;
    import com.google.gwt.user.client.ui.FlexTable;
    import com.google.gwt.user.client.ui.HTML;
    import com.google.gwt.user.client.ui.HasHorizontalAlignment;
    import com.google.gwt.user.client.ui.HasVerticalAlignment;
    import com.google.gwt.user.client.ui.Label;
    import com.google.gwt.user.client.ui.RootPanel;
    import com.google.gwt.user.client.ui.TextBox;
    import com.google.gwt.user.client.ui.VerticalPanel;
    import com.google.gwt.user.client.ui.Widget;
    import com.google.gwt.user.client.rpc.IsSerializable;
     
    /**
     * Entry point classes define <code>onModuleLoad()</code>.
     */
    public class Example implements EntryPoint {
    	private Label Bienvenue;
    	private SessionInfo sessionInfo = null;
    	private static PersonneInfoContext personneInfoContext;
    	private String userId;
     
    	      public void onModuleLoad() {
    	            RootPanel rootPanel = RootPanel.get();
     
      final VerticalPanel verticalPanel = new VerticalPanel();
      rootPanel.add(verticalPanel);
      verticalPanel.setSize("100%", "100%");
      verticalPanel.setVerticalAlignment
       (HasVerticalAlignment.ALIGN_MIDDLE);
       verticalPanel.setHorizontalAlignment
      (HasHorizontalAlignment.ALIGN_CENTER);
       Bienvenue =new Label("Bienvenue");
       verticalPanel.add(Bienvenue);	  
     
      // Table dans laquelle on place les éléments
      final FlexTable flexTable = new FlexTable();
      verticalPanel.add(flexTable);
      flexTable.setStyleName("example-verticalpanel");
     
      // Bouton de validation
      final Button validateButton = new Button();
      flexTable.setWidget(2, 2, validateButton);
      validateButton.setText("Validate");
       // Login label + text box
      final Label loginLabel = new Label("Login");
      flexTable.setWidget(0, 0, loginLabel);
      final TextBox login = new TextBox();
      flexTable.setWidget(0, 1, login);
      login.setWidth("200px");
     
       // Password label + text box
      final Label passwordLabel = new Label("Password");
      flexTable.setWidget(1, 0, passwordLabel);
      final TextBox password = new TextBox();
      flexTable.setWidget(1, 1, password);
      password.setWidth("200px");
     
      final MyServiceAsync svc = (MyServiceAsync) GWT.create(MyService.class);
        ServiceDefTarget endpoint = (ServiceDefTarget) svc;
        endpoint.setServiceEntryPoint("/myService");
     
        Button closeButton = new Button("Deconnection");
     
     
     
       // CheckBox rememberMeOnCheckBox = new CheckBox();
    	//flexTable.setWidget(2, 1, rememberMeOnCheckBox);
    	//rememberMeOnCheckBox.setText("Remember me on this computer.");
     
     
         validateButton.addClickListener(new ClickListener() {
     
      public void onClick(Widget sender) {
     
      AsyncCallback callback = new AsyncCallback() { 
      public void onSuccess(Object result) {
    	  Personne p;
    	  p = new Personne();
     
    	  com.google.gwt.user.client.Window.open("acceuil.html","login","paswword");
    	  /*("acceuil.html?login=" + login.getText() +
                   "&password=" + password.getText(), "", "");*/
    	        	                                }
     
      public void onFailure(Throwable ex) {
     
    	  Window.alert("erreur");
    	     }
    	 };
         svc.Login(login.getText(),password.getText(), callback);
    	                	}
              });
     
     
    	  closeButton.addClickListener(new ClickListener() {
     
    	    	    public void onClick(Widget sender) {
     
    	    	    Example.this.Deconnecte(); 
    	    	    }
    	    	    }); 
    	  }
    class MyServiceImpl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public class MyServiceImpl extends RemoteServiceServlet implements MyService {
     
    public String Login(String login, String password) {
     
    if (login==login && password==password) {
    	Personne p = new Personne();
    	p.setNom("nom");
    	p.setPrenom("preno");
    	p.setAge(24);
    	p.setTaille(123);
    	p.setMail("mail");
    	p.setAdresse("adresse");
     
    }
    else
    	if(login==null&& password==null)
    	return "erreeeeeeeeeeeeeeeeeeeeeur";
    //ODO Auto-generated method stub
    return Boolean.toString(login.equals(login)&& password.equals(password));
     
     
    	}
    }
      0  0

  3. #3
    Membre éprouvé Avatar de Caroline76
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 94
    Par défaut
    Il y a plusieurs erreurs:

    - au niveau serveur, le test est "if(login==null&& password==null)", mais ces valeurs sont lues dans les composants de ton clients, et sont "" si l'utilisateur ne modifie pas les champs, le test devient donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(login=="" && password=="")
    - ton serveur renvoie quelque chose ("erreeeeeeeeeeeeeeeeeeeeeur") lorsque les champs sont vides, donc le client recevra un OnSuccess(...). Tu dois donc tester la String de retour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      public void onSuccess(Object result) {
              // tester la reception d'une "erreur"
    	  if ( ((String)response).equals("erreeeeeeeeeeeeeeeeeeeeeur") {
                     Window.alert("erreur");
                     return;
               }
    	  com.google.gwt.user.client.Window.open("acceuil.html","login","paswword");
    	   //...
    - en general, tester les valeurs des champs se fait au niveau client (au niveau serveur, tu verifies que l'utilisateur est bien dans la DB et que son mot de passe est correct):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    validateButton.addClickListener(new ClickListener() {                   
      public void onClick(Widget sender) {
        if (login.getText().equals("") {
          Window.alert("Veuillez taper votre login");
          return;
        }
        if (password.getText().equals("") {
          Window.alert("Veuillez taper votre mot de passe");
          return;
        }
        AsyncCallback callback = new AsyncCallback() { 
    // ...
      0  0

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Par défaut
    merci beaucoup
    ca marche nickel..
    merci
      0  0

Discussion fermée
Cette discussion est résolue.

Discussions similaires

  1. Création de plusieurs pages web avec GWT
    Par baya1 dans le forum GWT et Vaadin
    Réponses: 9
    Dernier message: 24/04/2013, 16h26
  2. Page Html avec gwt
    Par groupe dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 19/05/2008, 23h39
  3. Réponses: 10
    Dernier message: 23/11/2004, 18h14
  4. Réponses: 13
    Dernier message: 16/04/2004, 12h00
  5. Récupérer le code HTML d'une page avec Delphi 7
    Par PsyKroPack dans le forum Web & réseau
    Réponses: 5
    Dernier message: 06/02/2003, 21h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo