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 :

ActionForm et Javascript


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut ActionForm et Javascript
    Bonjour à tous .

    Je gére une page d'authentification via struts ,et j'amerais traiter les cas d'erreur .

    Pour ce fair j'amerais déclencher une alert javascript en cas de fausses informations .Mais je sais pas comment je peux gérer ceci dans mon action forme.

    Voila le code de mon actionform :


    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
     
    public class UserLoginAction extends Action {
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) {
    		UserLoginForm userLoginForm = (UserLoginForm) form;// TODO Auto-generated method stub
    		User user = valide.identify(userLoginForm.getLogin(),userLoginForm.getPassword());
    		request.getSession(true).setAttribute("user",user);
     
    		if(user != null)
    		  {
    			if(valide.Access(userLoginForm.getLogin(), userLoginForm.getPassword())==1){
    		   return mapping.findForward("success");}
     
     
    		if(valide.Access(userLoginForm.getLogin(), userLoginForm.getPassword())==2){
    			   return mapping.findForward("success1");}
     
     
    	if(valide.Access(userLoginForm.getLogin(), userLoginForm.getPassword())==3){
    		   return mapping.findForward("success2");}
    		  }
     
    		  return mapping.findForward("meme")//pour rester sur la page d'authentification;
     
    }}
    Le probléme c'est que les alerts javascript sont gérées dans la page jsp ,alors que je traite la validité des informations dans mon action.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 165
    Par défaut
    salut,
    si je comprend bien, tu veux faire le contrôle coté serveur et ouvrir une pop up en javascript lors de l'envoi de la réponse? Tu n'as qu'a faire une scriptlet dans ta jsp qui execute le lancement de la pop up en js s'il y a des erreurs. Tu mets ton code javascript dans un tag logic par exemple...

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Citation Envoyé par eatherquake Voir le message
    salut,
    si je comprend bien, tu veux faire le contrôle coté serveur et ouvrir une pop up en javascript lors de l'envoi de la réponse? Tu n'as qu'a faire une scriptlet dans ta jsp qui execute le lancement de la pop up en js s'il y a des erreurs. Tu mets ton code javascript dans un tag logic par exemple...
    Merci pour ta reponse ,mais le probleme c'est comment savoir s'il ya erreur quand je suis dans la jsp.

    Je ne peux savoir si les données sont vaides ou erronés que dans l'action form.
    Alors que le pop up je ne peux le déclencehr que sur la jsp .

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 165
    Par défaut
    ok, et bien tu peux mettre un attribut dans la requete s'il y a erreur dans ton action. Cette action forward sur ta jsp. Dans ta jsp, tu verifies si cette attribut est présent pour générer ton code Javascript.

    action:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.setAttribute("error","error");
    jsp:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <logic:present name="error"> 
    <script language="JavaScript">
    alert('y a des erreurs');
    </script>
    </logic:present>

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    En suivant votre démarche j'ai modifier mon action comme ceci :

    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
     
     
    public class UserLoginAction extends Action {
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) {
    		UserLoginForm userLoginForm = (UserLoginForm) form;// TODO Auto-generated method stub
    		User user = valide.identify(userLoginForm.getLogin(),userLoginForm.getPassword());
    		request.getSession(true).setAttribute("user",user);
     
    		if(user != null)
    		  {
    			if(valide.Access(userLoginForm.getLogin(), userLoginForm.getPassword())==1){
    		   return mapping.findForward("success");}
     
     
    		if(valide.Access(userLoginForm.getLogin(), userLoginForm.getPassword())==2){
    			   return mapping.findForward("success1");}
     
     
    	if(valide.Access(userLoginForm.getLogin(), userLoginForm.getPassword())==3){
    		   return mapping.findForward("success2");}
    		  }
    		request.getSession(true).setAttribute("error","error");
    		  return mapping.findForward("mem");
     
    }}
    et j'ai ajouté l'autre bout de code ds ma jsp dans la balise body mais rien n'a changé j'ai pas eu de message d'alerte.

    juste une petite remarque je travail avec un scop session et pas request .

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 165
    Par défaut
    salut,

    chez moi, ça marche très bien pourtant...(j'ai l'alerte javascript dés que la page se charge).

    pour la session ou la requête, peu importe, les 2 marche. Va falloir que tu creuses un peu, l'erreur doit venir d'ailleurs.

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

Discussions similaires

  1. Les meilleurs livres pour apprendre le JavaScript
    Par vermine dans le forum Livres
    Réponses: 23
    Dernier message: 10/06/2019, 18h58
  2. Probleme mise a jour actionForm strust javascript jsp
    Par SEIYA. dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 02/03/2015, 11h43
  3. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 17h14
  4. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

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