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 ][ ActionError ] SAvoir s'il y a une erreur


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Par défaut [ STRUTS ][ ActionError ] SAvoir s'il y a une erreur
    Bonjour,

    j'ai une classe action Lecture qui :
    affiche et initialise un formulaire

    et une classe action validation qui lors du submit :
    valide et traite l'action (creer/modifer/supprimer)

    s'il y a une erreur de saisie ou de cohérence dans le formulaire (dans la classe action validation) j'ajouter une Error (avec Action error) et je rapelle ma classe Lecture.

    Cependant ma classe Lecture a toutes les données que je veux réafficher...seulement je voudrais faire un cas spécifique en cas d'erreurs :
    si il y a une erreur => je n'itialiser rien du tout et je renvoie mon form tel quel pour que le formulaire se réaffiche avec en entete l'erreur.

    seulement voila comment et qu'est ce qu'il faut que je teste pour savoir si il y a une erreur d'ajouter?

    du genre if(actionError.getError!=null) => il y a une erreur
    je fais directement mon actionforward.

    merci de votre aide

  2. #2
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut
    la ligne de code que tu donnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(actionError.getError!=null)
    ne fonctionne pas?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 62
    Par défaut
    salut, je ne suis pas sur d'avoir compris ta questions mais moi je teste mes données lors de mon submit avant d'appeler mon saveRecord () et si il y a un erreur je génère un exception comme si-dessous et ma page avec mon formulaire est réafficher avec le message d'erreur écrit en haut de ma page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(error){
    throw new Exception("lbl.errormsg");}


    j'suis peut-être à côté de ta question mais ça peut tjs t'aider....

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Par défaut
    non en fait mon submit est deja fait
    et je fais des traitement de donnees pour vérifier les données en base
    et s'il y a une erreur je fais un actionForward vers ma classe lecture, qui va me réafficher ma page. Le pb c'est que cette classe réinitialise tout (avec les données de départ) et je voudrais ajouter un cas quand il y a une erreur (rien m'initianiliser mais garder les données pour les réafficher)
    du coup il me fallait une donnée de test ...

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 62
    Par défaut
    donc il faut que tu sauvegardes tes données avant de les vérifier et si il y a une erreur tu les renvoies ds ton formulaire via ta classe lecture.
    c quoi ta donnée de test?

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Par défaut
    oui c'est ce que je veux faire...mes donn"es sont sauvegardés, mais je ne veux pas les réinitialiser (ce que va faire ma classe LEcture)
    c'est pour ca que je voulais tester l'objet ActionErrors
    j'ai vu qu'il y a une méthode

    isEmpty() => vrai s'il n'y a pas de message ActionError , false sinon

    le pb c'est que je suis en struts 1.1

    et dans la 1.2 la classe mère Action propose une méthode getErrors()
    qui renvoie l'objet ActionErrors apres j'ai juste a faire un isEmpty() dessus...
    mais struts 1.1 ne propose rien comme cela...mais y'a un moyen de faire a peu pres pareil non?

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Par défaut
    En struts 1.1, pour récupérer le ou les erreurs qui ont été sauvegardés dans la request il faut faire dans la classe Action (execute dans mon cas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ActionErrors errors = (ActionErrors) request.getAttribute(Globals.ERROR_KEY);
    if(errors!=null && !errors.isEmpty()){
     //traitement pour le cas ou il y a des erreurs
    }
    else{ 
      // traitement pour le cas où il n'y pas d'erreurs
    }
    A savoir qu'en struts 1.2, il existe la méthode getErrors() qui renvoie l'objet ActionErrors vide s'il n'y a pas d'erreurs

    Voili voila.
    Allez hop résolu

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/07/2010, 18h44
  2. Réponses: 2
    Dernier message: 01/11/2005, 18h47
  3. [STRUTS][DOWNLOAD] download d'un fichier via une action
    Par FreshVic dans le forum Struts 1
    Réponses: 3
    Dernier message: 16/04/2004, 16h38
  4. [Struts]ActionError
    Par Ho(c)ine. dans le forum Struts 1
    Réponses: 3
    Dernier message: 16/04/2004, 11h03
  5. peut-on savoir si un champ a une sequence??
    Par e11137 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/01/2004, 14h54

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