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 :

Méthode validate() et classe Action


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Par défaut Méthode validate() et classe Action
    Bonjour a tous,

    voila j'ai un problème avec les validations Struts et la méthode validate() de ma classe ActionForm. En fait dans ma classe ActionForm, je fais un validate pour tester la conformité des données entrée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
    		ActionErrors erreurs = new ActionErrors();
     
    		if(dtDebut != null && dtDebut.length() != 10)  {
    			erreurs.add("dtDebut", new ActionMessage("msg.error.date.coherence"));
    		}
     
    		if(dtFin != null && dtFin.length() != 10) {
    			erreurs.add("dtFin", new ActionMessage("msg.error.date.coherence"));
    		}
     
    		return erreurs;
    	}
    Voici le code de mon Action:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public ActionForward execute(...) {
    		// liste des profils
    		List profils = ProfilDAO.findProfils();
    		request.setAttribute("profils", profils);
     
    		// liste comptes 
    		ComptesForm comptesBloquesForm = (ComptesForm)form;
    		List comptes = UtilisateurDAO.findUtilisateursComptes(...);
    		request.setAttribute("comptes", comptes);
     
    		return mapping.findForward("succes");
    	}
    Dans mon action on constate que je récupére tous les profils utilisateurs pour faire un filtre. Mais si une erreur est détecté par la méthode validate() alors en fait j'ai l'impression qu'il ne passe pas par mon action puisque je ne récupéré pas mes profils.

    Ainsi lors de l'affichage de ma JSP, j'ai une erreur comme quoi le bean "profils" n'existe pas.

    Aurriez-vous une solution ?

    Merci par avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 338
    Par défaut
    Si je ne me trompe pas si validate() ne retourne pas null alors la méthode execute() n'est pas exécuter d'ou l'erreur que profils n'existe pas faut dans ta jsp vérifier que profils != null avant de l'afficher.

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Par défaut
    tout d'abord, merci pour tes indications...

    en fait le problèmes c'est que j'ai besoin des données de "profils" je ne peux pas les enlever. Donc il faudrait que peut importe ce qui se passe, je puisse avoir mes données "profils".

    Aurais-tu une solution à me proposer ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut
    dans struts-config rajoute un forward que tu nommes "fail" par exemple et qui renvoie automatiquement sur la page de création de profil si validate ne renvoie pas null.

    dans ta page de création de profil rajoutes quelque part la balise <html:errors /> qui indiquera à l'utilisateur pourquoi le profil ne s'est pas créé.

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Par défaut
    cela ne marche pas, voici mon fichier de struts-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <action path="/comptesBloques"
            		name="ComptesBean"
            		type="xxx.yyy.Classe">
          		<forward name="succes" path="page.comptes" />
          		<forward name="fail" path="/comptes.do" />
         	</action>
    Pour faire la validation il faut que je rajoute l'attribut validate="true" qui me force a rajouter l'attribut input. Cette attribut est la où va être redirigé l'utilisateur en cas d'erreur.

    On ne passe donc pas dans forward fail.

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tu peux mettre /comptes.do dans l'attribut input :

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/08/2005, 16h12
  2. [JSP][STRUTS] Passer des objets à une classe action
    Par maphi dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2005, 16h55
  3. appel entre méthodes de meme classe
    Par frmaniako dans le forum C++
    Réponses: 8
    Dernier message: 10/09/2004, 22h55
  4. [Struts][classe Action]Mettre un objet en parametre (suite)
    Par julienOriano dans le forum Struts 1
    Réponses: 6
    Dernier message: 16/06/2004, 15h54
  5. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02

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