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 :

deux exception et ActionMessage


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Par défaut deux exception et ActionMessage
    bonjour j'ai une methode "test" qui "throw" deux exception de meme type "UserAlreadyExiste">

    mon problem et je veux afficher deux message different :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     try {
    			userManager.createUser(user);
    	        } catch (UserAlreadyExistsException e) {
    	            ActionMessage message = new ActionMessage(
    	                    "register.user.already.exists.login", login);
    
                         ActionMessage message = new ActionMessage(
    	                    "register.user.already.exists.test", test);
    
    	            errors.add(ActionMessages.GLOBAL_MESSAGE, message);
    	            saveErrors(request, errors);
    	            return mapping.getInputForward();
    	        }
    ici c'est sur que la 1ere Action message qui va toujour afficher?

    des idees?

  2. #2
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Par défaut
    pardon le nom de la methode c'est pas test c'est creatUser

  3. #3
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    Ca ne fonctionne pas ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ctionMessage messageLogin = new ActionMessage(
    	                    "register.user.already.exists.login", login);
     
    ActionMessage messageTest = new ActionMessage(
    	                    "register.user.already.exists.test", test);
     errors.add(ActionMessages.GLOBAL_MESSAGE, messageLogin);
     errors.add(ActionMessages.GLOBAL_MESSAGE, messageTest);
    saveErrors(request, errors);

  4. #4
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Par défaut
    nonnnn dans ta methode tu va afficher dans tous les cas les deux erreur meme c'est l'un est juste donc marche pas voila la solution:
    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
     
    try {
    			 employeManager.createUser(employe);
    	        } catch (EmployeAlreadyExistsException e) {
     
    	        	if(e.getMessage().equals("User Login already exists.")){
    	            ActionMessage message = new ActionMessage(
    	                    "register.user.already.exists.login", login);
     
    	            errors.add(ActionMessages.GLOBAL_MESSAGE, message);
    	            }
    	        	if(e.getMessage().equals("User Id already exists.")){
    		            ActionMessage message = new ActionMessage(
    		                    "register.user.already.exists.num", nEmploye);
     
    		            errors.add(ActionMessages.GLOBAL_MESSAGE, message);
    		            }
    	            saveErrors(request, errors);
    	            return mapping.getInputForward();
    	        }

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 38
    Par défaut
    Oui c'est la solution dégueulasse que je pensais....

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 38
    Par défaut
    Salut,

    Si ton problème c'est d'afficher les deux messages alors ta méthode est la bonne (à condition que tu renomme tes 2 variables messages avec un truc du style message1, message2)

    Si tu veux afficher un certain message en fonction de si c'est la première exception de ta méthode createUser ou la deuxième alors il faut réussir à dinstingué d'ouvient l'exception. Et ça, j'ai peur que ce ne soit pas possible (à moins de faire un truc dégueulasse).

    La meilleure chose à faire et soit:
    - Découper ta méthode createUser en deux et mettre un bloc try/catch pour chacune d'entre elles pour les différencier.
    - Soit créé deux exceptions différentes

    en espérant être dans ton sens...

    @+

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

Discussions similaires

  1. TQuery sur deux tables et commande EXCEPT
    Par rouba27 dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/03/2015, 15h14
  2. NRE sur un Except comparant deux Lists<Obj>
    Par Invité dans le forum C#
    Réponses: 2
    Dernier message: 06/10/2011, 13h05
  3. soustraire deux dates ?
    Par joejoe dans le forum SQL
    Réponses: 2
    Dernier message: 19/07/2002, 15h53
  4. Réponses: 5
    Dernier message: 12/06/2002, 15h12
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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