Professional Documents
Culture Documents
Prsentation de JSF
Intervenant
Gontran TOMBETTE
Ingnieur dtude chez Sopra Group depuis 9 ans. Dans le monde Java depuis 5 ans. Architecte JEE depuis 3 ans. gtombette@sopragroup.com
Lobjectif
Cest quoi JSF ?
Comment a marche ?
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Dfinie au sein dune Java Specification Request (JSR) mise par la Java Community Process (JCP).
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique
JSR-252
Versions 1.2
JEE 5 Ed Burns Roger Kitain
JSR-127
Versions 1.0 et 1.1
J2EE 1.4 Ed Burns Craig McClanahan Roger Kitain
JSR-314
Versions 2.0 JEE 5 Ed Burns Roger Kitain
Craig McClanahan de Sun Microsystems Inc : Fondateur de Struts. (Framework de prsentation). Leader sur Tomcat. (serveur dapplication). Roger Kitain de Sun Microsystems Inc : Spcialiste Servlet. Expert des technologies autour de JSP.
Les implmentations
Les implmentations doivent respecter les spcifications dcrites par les JSR-314. Sun Mojarra
https://javaserverfaces.dev.java.net/
Apache MyFaces
http://myfaces.apache.org/
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Mais aussi :
respect du concept M.V.C. (Model/View/Controller), permet de gnrer autre chose que du HTML (XML, WML, XUL, .), propose des librairies de composants graphiques facilement surchargeables , permet de crer ses propres composants, Ajax ready
MaPage
Form
OutputText
InputText
Soumettre
OutputText
InputText
CommandButton
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Un ptit exemple !
Le fameux Hello Normandy JUG
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. - IHM
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
IHM
Plusieurs technologies possibles pour lcriture des pages :
JSP XHTML
En-tte En-tte
Corps
Pied de page Corps
Pied de page
Insertion de page
Inclusion de page
Composants JSF
Lien JavaBean
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. Managed Bean
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
ManagedBean
Cest un JavaBean gr par JSF. Permet de faire le lien entre lIHM et le code mtier de lapplication.
Doit contenir des accesseurs et des mutateurs pour champs de lIHM.
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. Configuration
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
La configuration : faces-config.xml
Navigation
La configuration : web.xml
Servlet utilise
Mapping de la servlet
Page daccueil
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. Synthse
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
View View
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. Synthse
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
Les convertisseurs
Permet la conversion des donnes :
IHM vers ManagedBean, ManagedBean vers IHM.
Exemples de convertisseurs :
Conversion de date, Conversion de nombre.
Les convertisseurs
MaPage PersonneBean
Enregistrer
Les validateurs
Vrifier la validit des donnes converties. Applicable sur lensemble des composants de saisies. Exemples de validateurs :
valider la prsence de saisie, valider que la saisie est conforme une plage de valeurs, valider le format de saisie (expression rgulire) valider la longueur de la saisie,
Les validateurs
MaPage MaPage
Identifiant :
Erreur
Mot de passe : Soumettre Soumettre
Le rendu
Les composants JSF peuvent tre transcrits en HTML, XML, WML en fonction de la cible. Ceci est possible par le biais de Renderer . Les Renderers sont des classes Java :
rcuprant les attributs des composants, transcrivant le composant en fonction du format souhait.
Le rendu
maPage.xhtml
HTMLInputTextRenderer.java
maPage.html
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. Synthse
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
Le cycle de vie
Le cycle de vie correspond aux diffrentes tapes entre la requte du client et la rponse retourne.
Le cycle de vie
Reconstruction de larborescence des composants Requte issue du client Restore View Apply Requests Process Validations Extraction des valeurs de la requte Validation et conversion des donnes
Render Response
Invoke Application
Update Model Values Mise jour du modle aprs validation et/ou conversion
Gnration de la rponse
Erreur de conversion
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. Synthse
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
Cration de composants.
Quest-ce que cest ?
Assemblage de plusieurs composants de base. Cration de ses propres composants.
A quoi a sert ?
Faciliter et uniformiser de dveloppement dIHM. Rpondre aux besoins de lutilisateur final.
We can do it !
Dans la plupart des cas, pas besoin de connatre un langage obscur pour confectionner son propre composant.
Java, Xhtml + Facelets, HTML, Javascript, JSTL si ncessaire.
Composants de base
Mon composant
Attributs
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. Synthse
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
Et AJAX ?
Les implmentations JSF2 supportent nativement AJAX. Les librairies supplmentaires proposent des complments :
MyFaces ICEfaces JBoss Richfaces
Et Ajax : lexemple.
Lien ManagedBean Champ de saisie Balise AJAX
Lien ManagedBean
Sommaire
1 2 3 4 5 6 7 8 9 10 Quest-ce que JSF ?
Historique. Quoi de plus que les autres ? Exemple. Dtail du fonctionnement. Synthse
Convertisseur - Validateur - Renderer Le cycle de vie. Cration de composants. AJAX. Le dveloppement.
Le problme :
Les plugins sont prvus pour fonctionner avec une version bien prcise de JSF.
Le paramtrage est un peu fastidieux.
Questions / Rponses