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 :

[Débutant] Gestion des erreurs


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
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut [Débutant] Gestion des erreurs
    Salut à tous !

    J'ai essayé de mettre en place ceci (article de la FAQ), mais ça ne fonctionne pas !?

    J'ai bien créé une méthode "validate" dans le Bean associé à mon formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	// Validation
    	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
     
    		// Gestion des erreurs
    		ActionErrors erreurs = new ActionErrors();
     
    		// Le numéro de fabrication doit être différent de zéro
    		if (manufactNumber == 0) {
    			erreurs.add("manufactNumberVide", new ActionMessage("error.manufactNumber.vide"));
    		}
     
    		return erreurs;
    	}
    J'ai bien (je pense) paramétré mon "struts-config.xml" :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
              "http://struts.apache.org/dtds/struts-config_1_3.dtd">
    <struts-config>
    	<form-beans>
    		<form-bean
    			name="formChoixMachine"
    			type="com.manitou.pad.FormChoixMachineBean"
    		/>
    
    		[...]
    
    	</form-beans>
    	<action-mappings>
    
    		[...]
    
    		<action
    			path="/choixMachine"
    			forward="/vues/choixMachine.jsp"
    		/>
    		<action
    			path="/FormAffichMachine"
    			name="formChoixMachine"
    			scope="request"
    			validate="true"
    			input="/erreurs.do"
    			forward="/Machine"
    		/>
    
    		[...]
    
    		<action
    			path="/erreurs"
    			forward="/vues/erreurs.jsp"
    		/>
    	</action-mappings>
    	<message-resources parameter="padRessources"/>
    </struts-config>
    La partie du code en orange me permet de déclarer mon ".properties".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    errors.header=<ul>
    errors.footer=</ul>
    error.manufactNumber.vide=<li>Numéro de fabrication incorrect !</li>

    Le source de ma page "erreurs.jsp" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<strong><i>Les erreurs suivantes se sont produites :</i></strong>
    	<html:errors />
    	<br /><br />
    	<p align="center">
    		<html:link page="/choixMachine.do">
    			Retour au formulaire
    		</html:link>
    	</p>

    Mon problème ... à l'affichage ma page JSP "erreurs.jsp" ne me renvoit pas :

    • Numéro de fabrication incorrect !

    Help me pleaaaaase !

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Il ne t'affiche pas d'erreur ? Juste rien ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Citation Envoyé par Cronycs
    Il ne t'affiche pas d'erreur ? Juste rien ?
    Juste rien.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreurs.add("manufactNumberVide", new ActionMessage("error.manufactNumber.vide"));
    ici au lieu de "manufactNumberVide" tu mets le nom de ta variable dans ton bean, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreurs.add("manufactNumber", new ActionMessage("error.manufactNumber.vide"));

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Citation Envoyé par Cronycs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreurs.add("manufactNumberVide", new ActionMessage("error.manufactNumber.vide"));
    ici au lieu de "manufactNumberVide" tu mets le nom de ta variable dans ton bean, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreurs.add("manufactNumber", new ActionMessage("error.manufactNumber.vide"));
    Non, ce n'était pas ça ... le nom de la clé de la méthode "add" peut contenir n'importe quel nom : "manufactNumber" ou bien "manufactNumberVide" ... mon problème ne venait pas de là !

    Il fallait simplement que je définisse le chemin complet pour mon .properties !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <message-resources parameter="com.mycompany.monappli.padRessources"/>

  6. #6
    Membre éclairé
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Par défaut
    voila comment j'ai fait:

    page jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <div id="error">
                            <logic:messagesPresent message="false" property="name">
                                <html:errors property="name"/>
                            </logic:messagesPresent>
                            <logic:messagesPresent message="false" property="firstname">
                                <html:errors property="firstname"/>
                            </logic:messagesPresent>
                            <logic:messagesPresent message="false" property="firstname">
                                <html:errors property="firstname"/>
                            </logic:messagesPresent>
                            <logic:messagesPresent message="false" property="email">
                                <html:errors property="email"/>
                            </logic:messagesPresent>
                        </div>
    et mon action bean struts:
    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
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
            ActionErrors errors = new ActionErrors();
            if (getLastname() == null || getLastname().length() < 1) {
                errors.add("name", new ActionMessage("errors.name.required"));
            }
            if (getFirstname() == null || getFirstname().length() < 1) {
                errors.add("firstname", new ActionMessage("errors.firstname.required"));
            }/*
            if ( !isValidBirthday( getDay(), getMonth(), getYear())){
                errors.add("birthday", new ActionMessage("errors.birthdate"));
            }*/
            if (!isValidMail(getMail()))
                errors.add("email", new ActionMessage("errors.email.valid"));
     
            return errors;
        }
    je te les met en vrac, si tu as besion d'explication, n'hésite pas

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

Discussions similaires

  1. question d'un débutant sur la gestion des erreurs en VBA
    Par David1259 dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/01/2009, 12h43
  2. [Débutant] Gestion des erreurs
    Par ghohm dans le forum Struts 1
    Réponses: 5
    Dernier message: 07/06/2007, 12h17
  3. [Débutant][PL/SQL] Gestion des erreurs
    Par weebib dans le forum Oracle
    Réponses: 4
    Dernier message: 13/06/2006, 16h22
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 17h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

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