Bonjour,
J'utilise Struts2 et j'ai une action liée à une JSP et du Javascript (avec de l'Ajax) qui, selon le résultat, m'affiche soit un message d'erreur, soit m'envoie sur une autre page.
Lors d'un traitement Ajax, j'ai eu les deux comportements différents : celui censé se produire lors d'une erreur, puis celui censé se produire lorsque cela fonctionne.
Je n'arrive pas à comprendre l'enchainement...
Mon action : maClasseAction.java
Mon code javascript :
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 public String execute() { String result = ""; ClasseA monA = new ClasseA(); try { monA = this.monBean.getMonA(x); if(machin = true) { this.getSession().put(SessionConstantes.petitA, monA); result = SUCCESS; } else { this.addActionError(codeErreur); result= ERROR; } } catch (MonException e) { this.addActionError(e.getMessageErreur()); } this.setMessagesErreur(this.getJsonErreurs()); return result; }
Mon fichier struts.xml (au cas où)
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 function loadMaPagePage(x){ $.ajax({ url : "maClasseAction.action", dataType : "json", cache : false, data : { monX : x }, success : function() { // pop up dossier alert('succes'); window.open ('monAutreClasseAction.action'); }, error : //message d'erreur alert('erreur'); writeMessageError("Erreur technique : Ajax"), }); };Pour tester, j'ai mis ma variable "machin" à false.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <action name="maClasseAction" class="maClasseAction" > <result name="success" type="json"></result> <result name="error" type="json"></result> </action>
Mon résultat : affichage de "erreur", puis affichage de "succes" et ouverture de la page correspondant à mon autre action.
Quelqu'un saurait-il m'expliquer comment résoudre ce problème ?
Merci d'avance pour votre aide.
Partager