Changer l'url après validation d'un ActionForm
Bonjour,
J'ai un formulaire trés simple décrit de la manière suivante dans mon fichier struts-config
Code:
1 2 3
| <form-bean name="FormulaireAjoutAdresseMAC" type="page.mac.FormulaireAjout">
<form-property name="adresseMAC" type="java.lang.String" initial=""/>
</form-bean> |
Code:
1 2 3 4
| <html:form action="/adresse-mac/ajouter" method="post" >
Adresse : <html:text property="adresseMAC" />
<html:submit value="Ajouter"/>
</html:form> |
J'ai crée une action permettant de traiter ce formulaire
Code:
1 2 3 4 5 6 7 8 9
| <action
path="/adresse-mac/traiter-formulaire"
name="FormulaireAjoutAdresseMAC"
scope="request"
validate="true"
input="/adresse-mac/erreurs.do"
parameter="/adresse-mac.do"
type="org.apache.struts.actions.ForwardAction"
/> |
En l'état le comportement de mon petit programme est le suivant : Lorsque je clique sur le bouton Ajouter de mon formulaire, la méthode validate de ma classe FormulaireAjout est appelée.
En cas d'erreur : redirection vers /adresse-mac/erreurs.do
En cas de réussite : redirection vers /adresse-mac.do
Seulement voilà, lors de la redirection, l'url obtenue est celle de l'action /adresse-mac/traiter-formulaire (http://.../adresse-mac/traiter-formulaire.do) ce qui casse la plupart des liens de la page jsp mappée sur l'action /adresse-mac. J'ai donc besoin que la redirection soit absolue et me permette d'obtenir http://.../adresse-mac.do ou http://.../adresse-mac/erreurs.do
Pour une action classique, j'ai lu qu'il suffisait de faire des <forward> avec redirect="true" mais dans le cas présent j'ignore totalement comment rediriger correctement vers /adresse-mac.do ou /adresse-mac/erreurs.do
Des idées ?