Bonjour à tous,

Je me renseigne depuis plusieurs jours sur Struts et sa philosophie.

Voilà donc ma question à ce sujet qui sera certainement évidente pour beaucoup mais les tutoriels sont souvent flous pour cette réponse.

Quant un formulaire (dans un JSP) est validé, les valeurs sont transmises à l'ActionForm qui contrôle les saisies. Celui-ci ressemble très fortement à un Bean avec d'autres méthodes comme reset, validate...
Les propriétés doivent être similaires aux balises du formulaire : String nom; pour <input name="nom"...> dans le JSP.

Ensuite l'Action s'occupe de la partie métier en récupérant le contenu du Bean associé au formulaire.

Donc et si je ne me trompe pas on obtient :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Le JSP (personne.jsp)
Le Bean associé (PersonneBean.java)
Le ActionForm (PersonneForm.java)
Le Action (PersonneAction.java)
Maintenant, et c'est là que je ne comprend pas :

Pourquoi définir un Bean ET un ActionForm puisque les deux classes sont quasi identiques : en faite, ActionForm pourrait être un descendant (ou quelque chose comme cela) du Bean ?

Existe-t-il donc un moyen de simplifier ce modèle de conception et de réduire le nombre de lignes à écrire ?

Par exemple, un DynaActionForm permet le retrait des get et set dans le ActionForm.

Merci pour vos suggestions.