Struts c'est un front-end cadre MVC.
Les actions de Struts2 sont des contrôleurs (le C du MVC), et ne devraient pas être utilisées comme des beans; ils doivent plutôt transporter les beans des couches de gestion sous-jacentes vers la vue (le V du MVC, par exemple un JSP).
Vous ne devriez pas avoir une action avec 50 attributs, vous devriez avoir une action avec un couple d'attributs qui sont POJO avec les 50 attributs à l'intérieur. Derrière Struts2, vous pouvez avoir tout ce qui fonctionne sur la couche de gestion, par exemple Java EE (EJB 3, JPA 2, CDI, etc ...), avec tous ses beans et étendues, ou Spring, ou quoi que ce soit d'autre.
Struts2 Les actions sont thread-safe, instanciées par requête, et c'est ainsi que son fonctionnement est étudié. N'essayez pas de changer les champs d'action pour les utiliser comme des haricots, essayez d'apprendre quelles sont les actions et comment elles devraient être utilisées.
Sidenote: si vous avez le libre choix, je suggère Struts2 + Java EE> = 6 + Struts2-CDI-plugin + Struts2-Convention-plugin + Struts2-Json-plugin, exécuter avec Maven et créé à partir d'un Maven archétype.
Vous pouvez en savoir plus sur les étendues [ici] (http://stackoverflow.com/a/27670618/573032) –
[This] (http://stackoverflow.com/a/20458850/573032) answer is also about portées mais (non mises en valeur). En ce qui concerne votre réponse * Struts utilise l'étendue de la requête par défaut *. –