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

Struts 1 Java Discussion :

[STRUTS][Validation] - Validation dans un execute


Sujet :

Struts 1 Java

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut [STRUTS][Validation] - Validation dans un execute
    Bonjour, j ai un petit soucis avec la validation dans Struts...

    Supposons un formulaire d'identification basique(login, password)...

    Pour le validation, j utilise la methode validate de l'ActionForm dans laquelle j oblige le login et le mot de passe a etre non vides...

    Ensuite dans l Action je recupere le login et le mot de passe pour verifier l existence de l utilisateur dans la base de donnée...

    A ce moment la, je voudrais envoye une erreur dans le cas d un echec d authentification, comment puis je faire

    voici mon code


    le struts-config.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            <action
                path="/Inside"
                type="ch.clio.ppc.action.AuthentificationAction"
                name="AuthentificationForm"
    			input="tile.login">
                <forward name="ok" path="tile.index"/>
                <forward name="nok" path="tile.login"/>
            </action>
    l action:
    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
     
     
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception 
    	   {
    	   		AuthentificationForm af = (AuthentificationForm) form;
    	                  ActionMessages messages = new ActionMessages();
     
                try {
        	   		//Token creation request
        	   		TokenAVO tvo = AuthorizationManager.getToken(af.getLogin(), af.getPass());
                               request.getSession().setAttribute("tvo", tvo);
     
                } catch (AuthorizationException e) {
                    //User is not registered
                    ActionMessage newMessage = new ActionMessage ("error.authentification.login");
                    messages.add(ActionMessages.GLOBAL_MESSAGE, newMessage);
                    saveMessages(request, messages);
                    return mapping.findForward("nok");
                }
     
    	   		//Cleaning form
    	   		if (mapping.getAttribute() != null)
    		    {
    		      if (mapping.getScope().equals("request"))
    		      {
    		        request.removeAttribute(mapping.getAttribute());
    		      }
    		      else
    		      {
    		        HttpSession session = request.getSession();
    		        session.removeAttribute(mapping.getAttribute());
    		      }
    		    }
     
    	   		return mapping.findForward("ok");
    	   }
    Cela me ramene a la page de login quand le user n existe pas mais je n ai pas de messages d erreurs

    Merci d avance

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    pourquoi ne pas faire la validation de l'utilisateur (bon couple user/pwd) dans la méthode validate de ta classe Form ...

    si c'est pas OK tu rajoute une erreur, et si c'est Ok tu passe à la classe Action associée qui va enregistrer en session les données qui vont bien pour ton utilisateur (en fonction de ton appli) ....

    enfin moi c'est ce que je ferais

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Je vais etudier ça, en tout cas merci de ta reponse...

    Si kkun a une autre idee je suis preneur

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    En fait ce qui me derange c d avoir le code metier dans l ActionForm et non pas dans l action...


    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 66
    Points : 53
    Points
    53
    Par défaut
    Salut ! c'est kler que du code métier dans le validate c un peu moyen.

    sinon pour ton problème d'erreur as tu bien mis le tag : <html:errors /> dans ta jsp ???

    c grace a ce tag que tu affiche les erreurs de ta request

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Points : 107
    Points
    107
    Par défaut
    t'es pas obligé de mettre ton code métier dans l'actionForm mais le laisser dans la classe Action...
    l'actionForm teste juste si tes champs sont remplis (pas a vide...etc)

    et dans ta classe action tu gères l'erreur en l'ajouter dans errors
    et ton forward...

    et oui pour afficher l'erreur c'est </html:errors>
    et ca te l'affiche sur ta page...
    en popup je crois que c'est un peu plus compliqué...
    "Plus on fait de conneries, moins on en aura à faire...."

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 66
    Points : 53
    Points
    53
    Par défaut
    Sinon pour la validation de formulaires tu a aussi
    struts-validator, c tres bien !

    je connais pas mal donc si tu veux t'y mettre, je peux t'aider

    en plus c tres facile a mettre en place

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    je connais validator neanmoins nous n avons pas le temps de l utiliser...
    Personne n a jamais eu a creer des erreurs a partir d une actionServlet??

    Merci pour votre aide

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Struts] ordre d'appel de execute et validate
    Par Paganoni dans le forum Struts 1
    Réponses: 3
    Dernier message: 03/10/2005, 15h32
  2. Réponses: 7
    Dernier message: 16/03/2005, 12h35
  3. Réponses: 3
    Dernier message: 15/03/2005, 12h22
  4. [ Struts ] pb Validator
    Par voodoo_mg dans le forum Struts 1
    Réponses: 7
    Dernier message: 01/07/2004, 08h11
  5. [ Struts ][ Validator ]validation côté serveur
    Par tiSioux dans le forum Struts 1
    Réponses: 4
    Dernier message: 29/06/2004, 09h25

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