Hello

Je reviens sur un soucis de mapping suite au "remapping" de l'appli que j'ai effectué hier... dans une de mes actions, je passe deux fois dans la méthode execute, et je suis incapable de trouver la raison de ce double passage.

J'ai donc, dans 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
<form-bean name="chairmanSendEmailForm" type="formBeans.ChairmanSendEmailForm"/>
...
<action path="/chairmanWriteEmailPage"
     parameter="/jsp/chairman/chairmanWriteEmail.jsp"
     type="org.apache.struts.actions.ForwardAction"/>
 
<action	path="/chairmanSendEmail"
     input="/chairmanWriteEmailPage.do" 
     name="chairmanSendEmailForm" 
     type="actions.ChairmanSendEmailAction" 
     validate="true">
     <forward name="mailOK" path="/chairman.do"/>
     <forward name="mailNotOK" path="/chairmanWriteEmailPage.do"/>
</action>
Rien d'exceptionnel... L'action "chairmanWriteEmailPage" affiche la jsp permettant la saisie d'un mail et contient un formulaire de saisie basique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<html:form method="post" action="chairmanSendEmail.do" >
Une fois le formulaire validé via "ChairmanSendMailForm.java", je suppose donc que struts passe dans le fichier "ChairmanSendEmailAction.java" que je spécifie dans le struts-config.xml...
Voici grosso modo le contenu de cette action (très raccourcie ^^) :
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
public ActionForward execute.... {
... //récupération des différents attributs session / requête en cours
ArrayList<String> to = new ArrayList<String>();
Connection cnx = source.getConnection(); //connexion base
... ps.executeQuery(); ... //exécution requête, récupération résultat etc...
[...]
while (rs.next()) {
     if (rs.getString(1)!=null)
          //ajout du résultat 1 dans l'arraylist...
          to.add(rs.getString(1));
}
//suivi d'un test de l'array list...
for (int i=0; i<to.size(); i++)
     System.out.println(to.get(i).toString());
}
A partir d'ici le problème est simple... A la soumission du formulaire, mon arrayList s'affiche deux fois... et je ne comprends pas pourquoi, cela signifie qu'il passe DEUX fois dans la méthode execute() de l'action... J'ai testé, il passe également deux fois dans le formBean...

Je ne vois pas l'erreur de forward, qqun pourrait m'aiguiller ?

Merci beaucoup