[Struts] ordre d'appel de execute et validate
Bonjour, je débute avec Struts et y a quelque chose qui me chifonne sérieusement : je ne comprends pas l'ordre d'appel des méthodes des Action et ActionForm.
Mon problème est simple : c'est un petit système de blog, un utilisateur peut poster un commentaire à un message.
J'ai donc déclaré PostCommentAction et PostCommentForm
Le problème c'est que l'ordre d'appel des méthodes est :
Code:
1 2 3
| PostCommentForm.reset()
PostCommentForm.validate()
PostCommentAction.execute() |
Et la la vue est affichée à l'écran...
Quel intérêt que validate soit appellé avant execute ? Et surtout que validate() soit appellé lors de l'affichage du formulaire (et pas en réponse à l'utilisateur) ?
Bizarre, voici l'action correspondante telle que je l'ai définie :
Code:
1 2 3 4 5 6 7 8 9
| <!-- Poster un commentaire -->
<action path="/site/postcomment"
type="site.actions.PostCommentAction"
name="PostCommentForm"
input="/site/comment.ftl"
scope="request"
validate="true">
<forward name="success" path="/site/comment.ftl"/>
</action> |
Je ne comprends pas le forward "success", dans l'exemple ci dessus. Moi je me disais qu'il faudrait que path pointe vers l'index du site, pas vers le formulaire ? Dans l'idée "si la validation se passe bien on forward sinon on revient à comment.ftl grâce au paramètre input"
Est-que quelqu'un peut m'aider ? J'y ai passé des heures...
Merci d'avance