Vous êtes sur la page 1sur 15

Présenté par : Encadré par :

Taha ZOUHAIR Pr. Zemmouri EL M.


Plan
I. Introduction
II. Struts2
III. Modèle
IV. Vue
V. Contrôleur (Action class)
VI. Gestion des excéptions
VII. Conclusion
VIII. Démonstration
Introduction
 Un Framework est un cadre de travail
 Séparation de l’application selon
l’architecture MVC2
 Séparation des tâches
 Améliorer la maintenabilité de
l’application à long terme
Struts2
 Open Source
 Maintenu par l’Apache Software Foundation
 Bien documenté
 Communauté active
 Struts 2.3.1.2 (22 Janvier 2012)
 API Servlet 2.4+
 JSP 2.0+
 Java 5+
Modèle
 Persistance des données
 Une classe JavaBean
 Différentes possibilités : JDBC, EJB,
Hibernate, etc
Vue
 Partie visuelle de l’architecture MVC
 Support de plusieurs formats : JSP, JSF,
XSLT, PDF, Jakarta Velocity Engine
Librairies de balises (Taglibs)
• Support des taglibs :
<%@ taglib prefix="s" uri="/struts-tags" %>

• Exemple de taglibs :
Balise Description
url Générateur d’URL pour action
param URL avec paramètres (GET)
property Accès au ValueStack
form Formulaire
textfield Champ de formulaire
Implémentation du tag url
 Affichage du lien de l’action hello
<a href="<s:url action='hello'/>">Hello World</a>

 Affichage du lien de l’action hello avec


paramètres
<s:url action="hello" var="helloLink">
<s:param name="userName">Bruce Phillips</s:param>
</s:url>
<a href="${helloLink}">Hello Bruce Phillips</a>
hello.action?userName=Bruce+Phillips
Le ValueStack (Pile de valeurs)
Contrôleur (Action class)
 Classe JavaBean
 Classe héritant de ActionSupport
 Implémenter la logique de l’action
 Retour d’un résultat

 struts.xml
<action name="hello" class="action.HelloWorldAction" method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
Gestion des exceptions

 struts.xml
<global-exception-mappings>
<exception-mapping exception="exceptions.SecurityException" result="securityerror" />
<exception-mapping exception="java.lang.Exception" result="error" />
</global-exception-mappings>

<global-results>
<result name="securityerror">/securityerror.jsp</result>
<result name="error">/error.jsp</result>
</global-results>
Conclusion
 Réutilisation de code
 Facilité de maintenance
 Rapidité de développement
 Gain de temps et d’argent
DÉMONSTRATION
Références
 http://struts.apache.org
 http://www.ibm.com/developerworks/web
/library/wa-dynamicstruts
Merci pour votre attention

Vous aimerez peut-être aussi