6. Les Actions
• Doivent étendre de ActionSupport
• Contiennent les données du model
• Sont mappées sur les URLS
• Se configurent dans le fichier struts.xml
• Exemple
<package name="monPackage" extends="struts-default">
<action name=“ uri“ class=“ class“ method=“ method">
<result name=” success” >destination.jsp</result>
</action>
<package>
8. La classe Action
public class ContactAction extends ActionSupport {
private Contact contact;
private ContactService service;
public String delete(){ … }
public String update(){…}
// GETTER & SETTER
}
9. La validation
• Form
<s:textfield key="age"/>
• Action
private int age; get/set
• Validator <ActionClassName>-validation.xml
<field name="age">
<field-validator type="int">
<param name="min">13</param>
<param name="max">19</param>
<message>Only people ages 13 to 19 allowed</message>
</field-validator>
</field>
10. Validator Types
• Conversion
• date
• email
• short – int – long - double
• regex <takes a regular expression>
• required
• requiredstring
• stringlength
• url
• visitor - conditionalvisitor
• expression
15. Application carnet d’adresse
• Fonctions implémentée en 3 itération :
1) Listing des données dans les propretés
2) Formulaire de recherche dans la liste
3) Formulaire de mise à jour, création, suppression
• Données d’entrée
• Application Web de base
• Classe de DAO
16. Etape 1 : Intégrer Struts 2
• Ajouter le filtre Struts :
•Sur une nouvelle application Tomcat
•Ajouter les jars struts dans WEB-INF/lib
•Paramétrer le filtre dans le web.xml :
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
FilterDispatcher Struts2
…
HttpServletFilter 2
HttpServletFilter 1
Requête HTTP
17. Etape 2 : Paramétrage des
actions
•Fichier struts.xml dans le classpath.
Contrôleur
•Créer la classe action ListAction dérivant
Identification et de ActionSupport
instanciation du
Bean d’action •Créer de vues exemple : list.jsp et
error.jsp
FilterDispatcher Struts2
…
HttpServletFilter 2
HttpServletFilter 1
Requête HTTP
18. Etape 2 : Paramétrage de struts
•Les propriétés du Bean sont initialisées
Contrôleur par les paramètres de la requête.
Initilisation
Identification et
à partir des •La conversion est automatique par Struts.
instanciation du
paramètres de
Bean d’action
requête
FilterDispatcher Struts2
…
HttpServletFilter 2
HttpServletFilter 1
Requête HTTP
19. Struts 2 : Cycle de vie de
requête
Modèle
•Passer les infos au travers des propriétés
du Bean action : disponibles dans la vue
Contrôleur
Initilisation •Eviter d’ajouter de données dans la
Identification et Appel de la
instanciation du
à partir des
methode request !
paramètres de
Bean d’action execute()
requête •Créer une methode execute qui affiche les
données.
FilterDispatcher Struts2
…
HttpServletFilter 2
HttpServletFilter 1
Requête HTTP
20. Struts 2 : Cycle de vie de
requête
Modèle
Contrôleur Vue
Initilisation
Identification et Appel de la
à partir des Génération de la
instanciation du methode
paramètres de sortie
Bean d’action execute()
requête
Nom du Result
(vue)
FilterDispatcher Struts2 • Ajouter une vue (Result) au
Struts.xml
…
HttpServletFilter 2
HttpServletFilter 1 • list.jsp JSP correspondante.
Requête HTTP