- Formation JEE/JSF – Groupement Informatique

Slides:



Advertisements
Présentations similaires
- Formation STRUTS 1 1.
Advertisements

Mais vous comprenez qu’il s’agit d’une « tromperie ».
Présentation de frameworks J2EE
Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
- Formation Flex (Introduction)‏ - Formation Flex 1 1.
Plan Portlets La norme JSR-168 Qu'est-ce qu'une Portlet ?
Département Édition - Intégration SEMINAIRE SOA Migration du canal Esup MonDossierWeb Olivier Ziller / Charlie Dubois Université Nancy 2 16 octobre 2007.
Les numéros 70 –
Les numéros
Les identités remarquables
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
TP 3-4 BD21.
Données statistiques sur le droit doption au 31/01 8 février 2012.
Technologies et pédagogie actives en FGA. Plan de latelier 1.Introduction 2.Les technologies en éducation 3.iPads 4.TNI 5.Ordinateurs portables 6.Téléphones.
Présentation des frameworks pour Java EE
Révision (p. 130, texte) Nombres (1-100).
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
La méthodologie………………………………………………………….. p3 Les résultats
Structure(djs)TéléphoneFax ADRA R049,96,03,21 CHLEF027,77,22,66 /77,49, LAGHOUAT029,90,41,08029,90,42,47 OUM EL BOUAGHI032,42,16,26032,42,45,32.
1 Présentation du logiciel QUALITE MOE 05/06/2007.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Présenté par : Kalleli Dhouha
JAVA SERVER FACES (JSF)
JAVASERVER FACES Un framework Java pour le développement Web.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Présentation générale
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Normandy JUG Présentation de JSF.
Projet JAVA EE Approfondi
Les nombres.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
7 décembre 2011 Evolution des projets : les services web, le site RRNADMIN et lévolution du RN vers une base de données relationnelles.
Logiciel gratuit à télécharger à cette adresse :
Les chiffres & les nombres
Projet Génie Logiciel & UML, Bases de Données & Interfaces
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Jean-Marc Léger Président Léger Marketing Léger Marketing Les élections présidentielles américaines.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Adaptée du cours de Richard Grin
Aire d’une figure par encadrement
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
Les fondements constitutionnels
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Certains droits réservés pour plus d’infos, cliquer sur l’icône.
Module I-C3 : Applications Web IUT R&T 2e année
Annexe Résultats provinciaux comparés à la moyenne canadienne
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
AngularJS.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Struts.
13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Architecture J2EE Web Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
Transcription de la présentation:

www.objis.com - Formation JEE/JSF – Groupement Informatique Java Server Faces Participant : Mr Frédéric MULLER www.objis.com - Formation JEE/JSF – Groupement Informatique 1 1

www.objis.com - Formation JSF SOMMAIRE Rappels J2EE p 3 Positionnement JSF et architecture p 9 Cycle de vie JSF p 21 Packages clés et composants JSF natifs p 23 Composants supplémentaires RichFaces p 28 Composants supplémentaires : IceFaces p 32 Exemple cinématique application JSF p 39 Problématique JSP / JSF et réponse Facelet p 44 Exemple mise en oeuvre Facelet / IceFaces p 53 Listeners personalisés p 62 RichFaces configuration p 69 Méthode création composant personnalisé p 80 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 2

www.objis.com - Formation JSF RAPPELS J2EE Architecture multicouche Architecture J2EE Livrables J2EE Services J2EE Roles J2EE Concepts techniques clés www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 3

Architecture multicouche Rappel J2EE : Architecture multicouche 4 4

Rappel J2EE : Architecture J2EE 5 5

Livraisons J2EE 6 6

Services J2EE JNDI : Java Naming Directory Interface JCA : Java Connector Architecture JTA : Java Transaction API JPA : Java Persistence API JMS : Java Message Service JAAS : Java Authentication & Authorisation Service JAX-WS : Java API for XML Web Services JAXB : Java API for XML Binding 7 7

Concepts techniques clés Injection de dépendances Programmation Orientée Aspects / Interception Annotations Mapping Objet / Relationnel Sécurité Transaction www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 8

Positionnement et architecture JSF Contexte création JSF Versions et Implémentations JSF dans J2EE JSF et le pattern MVC Cycle de vie requête JSF Packages et composants JSF Composants additionnels : RichFaces / IceFaces www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 9

Contexte développement d’applications Java/J2ee en 2001 JSP + Servlets Force: bien maîtrisé développeurs Faiblesse: maintenance ! Struts Force: Framework web MVC2 Faiblesse: création interface Faiblesse: peu d’outils RAD Swing : Force: Composants graphiques Force: Outils RAD Faiblesse: pas d’équivalent web ! Besoin framework web MVC RAD www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 10

www.objis.com - Formation JSF Naissance de JSF Besoin framework et outils web RAD ‘Composants’ visuels Gestion état écran Gestion évènements client Multilingue Validation entrée utilisateur Affichage adapté (pda,portable…) Accessibilité Navigation entre page Acteurs : IBM, SUN, BEA, ORACLE Mars 2004 : spécifications JSF 1.0 Mai 2004 : spécifications JSF 1.1 Amy Fowler Craig Mac Clanahan Ed Burns www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 11

www.objis.com - Formation JSF Versions JSF et API J2EE JSF 1.1 (mai 2004) JSR 127 : http://jcp.org/en/jsr/detail?id=127 servlet 2.3 + JSP 1.2 + Java 1.3 JSF 1.2 (août 2006) JSR 252 : http://jcp.org/en/jsr/detail?id=252 Servlet 2.5 + JSP 2.1 + Java 5 JSF 2.0 (juillet 2009) JSR 314 : http://jcp.org/en/jsr/detail?id=314 Servlet 2.5 + JSP 2.1 + Java 5+ Profil web JEE6 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 12

Implémentations de JSF Mojarra : implémentation de référence (SUN) Librairies : jsf-api.jar, jsf-impl.jar Composants natifs : core, html MyFaces : implémentation Apache Librairies : myfaces-api, myfaces-impl Composants : TomaHawk, Tobago, Trinidad Nombreuses autres Détail et comparaison : www.jsfmatrix.net www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 13

Architecture & positionnement JSF www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 14

Architecture & positionnement JSF www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 15

JSF dans application J2EE www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 16

www.objis.com - Formation JSF JSF et le modèle MVC www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 17

www.objis.com - Formation JSF Exemple www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 18

www.objis.com - Formation JSF Caractéristiques JSF Développement évènementiel orienté Composant Simplifie accès et gestion données métiers Automatise & simplifie gestion état écran entre plusieurs requêtes Mise en oeuvre de patterns connus Masque bas niveau (HttpServletRequest/Response) Meilleure maintenance www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 19

Modèle évènementiel JSF Evènements liés aux ‘actions’ utilisateurs Appui boutton, clic sur lien hypertexte…. Tout composant implémentant ‘ActionSource’ Evènements liés à MAJ interface par l’utilisateur Modification données champ texte, combo Tout composant implémentant ‘EditableValueHolder’ Evènements liés aux données du modèle métier Les 'listeners' traitent les évènements www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 20

www.objis.com - Formation JSF Cycle de requêtes JSF www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 21

Cycle de vie requête JSF : 6 étapes clés ordonnées 1) Restauration vue (Arbre composants ecran) 2) Appliquer paramètres requête 3) Validation (& conversion) entrées utilisateur 4) Mise à jour des objets Modèle (backing beans) 5) Exécution Appli (ActionEvent, ValueChangeEvent…) 6) Rendu de la réponse (Render) www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 22

www.objis.com - Formation JSF Packages / Javadoc JSF JSF 1.1 JSF 1.2 JSF 2.0 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 23

www.objis.com - Formation JSF Composants JSF Comportement Composant www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 24

Composants JSF rendu HTML disponible avec Mojarra 25 composants : pas assez de choix ! www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 25

Héritage et comportement spécifique Exemples Composants : Héritage et comportement spécifique www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 26

Packages / Javadoc JSF : Le contexte FacesContext www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING

www.objis.com - Formation JSF Composants JSF supplémentaires RichFaces (Jboss) : www.jboss.org/richfaces Fusion projets Jboss 'RichFaces' et 'Ajax4jsf' Le développeur choisit les zones de la page à traiter coté serveur + zones à mettre à jour + de 100 composants UI avec support Ajax testés avec différents navigateurs Chaque composant : + de 30 attributs Tags (a4j: et rich:) Skins (DEFAULT, blueSky, plain, laguna...) CDK (Components Development Kit) IceFaces (www.icefaces.org) Composants MyFaces (http://myfaces.apache.org) www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 28

www.objis.com - Formation JSF Rappels Ajax www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 29

JSF et Ajax avec RichFaces Ajax4jsf : né de la volonté de créer applications riches / Ajax avec JSF Ajax4jsf : filtre qui ajoute des fonctions javascript ainsi que les dépendances de l’objet XmlHttpRequest aux composants JSF Suite à requete HTTP, le moteur Ajax transforme la requête et l’envoi au filtre Ajax4jsf Le filtre Ajax4jsf convertit les données au format XML et transfère la requête à la servlet FacesServlet, pour réaliser cycle 6 étapes JSF www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 30

JSF et Ajax avec RichFaces www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 31

www.objis.com - Formation JSF Composants JSF supplémentaires IceFaces (IceSoft) : www.icefaces.org Leader historique sur JSF + Ajax/Web2 Technologies Skinning, Multimedia, AJAX Push Intégration avec JSF 1.x / JSF 1.2 / Facelet Spring Web Flow Jboss Seam MyFaces Tomahawk Portails : Liferay, Jboss Portal, WebLo. Portal IDE : Eclipse, MyEclipse, Netbeans Communauté : 100.000 développeurs+ www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 32

JSF et Ajax avec IceFaces www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 33

www.objis.com - Formation JSF Librairies Icefaces Dépendences icefaces 181 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 34

IceFaces : plugin Eclipse Intégration du plugin dans Eclipse Manuelle si version plugin < 3.6.2 Exemple : eclipse 3.4 + Icefaces 1.8.1 Sinon Update site : icefaces.org/eclipse-updates Exemple : dès Eclipse 3.5 Valeur ajoutée du plugin pour développeur : Création projets Web JSF ICeFaces Création projets Web JSF IceFaces + Facelet Complétion de code Gestion visuelle composants graphiques www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 35

IceFaces : Plugin Eclipse Plugin m2eclipse (Maven) Plugin IceFaces (dézipper archive + install eclipse 'local') Plugin JbossTools pour intégration Jboss (dézipper le zip dans répertoire 'eclipse') 36 36

industrialiser développements IceFaces : industrialiser développements AppFuse : squelettes projets (archetypes maven) www.appfuse.org Initié en 2002 par Mark Raible Squelettes appli. Struts/Jsf + hibernate/spring... Aucun squelette avec Icefaces en frontal ! Edoras : www.edorasframework.org Initié par MIMACOM, qui fournit support IceFaces en Europe (mimacom.ch) IceFusion = AppFuse pour IceFaces icefusion.googlecode.com www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 37

Développement IceFaces www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 38

Démo JSF : Cinématique application Done.jsp index.jsp Main.jsp Register.jsp Confirm.jsp www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 39

www.objis.com - Formation JSF Configuration JSF : fichier web.xml 1 2 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 40

Enchaînement accueilécran JSF 1 2 3 4 5 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 41

www.objis.com - Formation JSF Configuration JSF : faces-config.xml 1 2 3 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 42

www.objis.com - Formation JSF Intégration JSP / JSF Objectifs différents JSP : html + java / traitement ‘de haut en bas’ JSF : composants / traitement évènementiel Cycle de vie différent JSP  Java  html JSF : cycle de requête précis (6 étapes) Etapes gestion composant JSF création + gestion entrée + rendu Etapes composant JSF dans JSP En parrallèle : création & rendu Ajout de conenu dans la page par JSF & JSP En parallèle : création & rendu ! www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 43

www.objis.com - Formation JSF Intégration JSP / JSF : Exemple de problème www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 44

Comprendre la technologie Facelet Intégration JSP / JSF : Comprendre la technologie Facelet Technologie de Vue adaptée à JSF ViewHandler S’insère bien dans le cycle requête JSF http://facelets.dev.java.net www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 45

Comprendre la technologie Facelet Intégration JSP / JSF : Comprendre la technologie Facelet www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 46

Facelet : Configuration 1 Faces-config.xml 2 3 Web.xml www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 47

Facelet : template.xhtml www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 48

Exemple ecran 1 (guess.xhtml) Facelet : Exemple ecran 1 (guess.xhtml) 1 2 3 4 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 49

rendu ecran 1 (guess.xhtml) Facelet : rendu ecran 1 (guess.xhtml) 3 4 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 50

Exemple ecran 2 (response.xhtml) Facelet : Exemple ecran 2 (response.xhtml) 1 2 3 4 Permet collaboration développeur / webdesigner www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 51

rendu ecran 2 (response.xhtml) Facelet : rendu ecran 2 (response.xhtml) www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 52

Démo Facelet avec IceFaces : Template v1 (merci Eclipse !) 53 53

Démo Facelet avec IceFaces : Template v2 54 54

Démo Facelet avec IceFaces : Template v3 55 55

Démo Facelet avec IceFaces : Template v4 56 56

Démo Facelet avec IceFaces : Page v0 57 57

Démo Facelet avec IceFaces : Page v1 58 58

Démo Facelet avec IceFaces : Page v1 rendu 59 59

Démo Facelet avec IceFaces : Page v2 60 60

Démo Facelet avec IceFaces : Page v2 rendu 61 61

Création listener personnalisé Pour écouter et traiter 3 types d’évènements Type 1 : actions utilisateur Action event déclenché par bouton ou lien Type 2 : changement de valeur champ inputText Type 3 : phases JSF Une des 6 phases traitement requête. Accès par programmation à l’évènement (ActionEvent) ou au contexte JSF (FacesContext) www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 62

Comprendre un ActionEvent www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 63

type 1 : action utilisateur Création listener type 1 : action utilisateur 1 2 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 64

type 2 : changement valeur champ Création listener type 2 : changement valeur champ 1 2 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 65

www.objis.com - Formation JSF Création listener type 3 : phases JSF 1 2 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 66

type 3 : exemple logs phases JSF Création listener type 3 : exemple logs phases JSF www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 67

www.objis.com - Formation JSF JSF et Ajax Ajax4jsf gère arbre de composants tout au long de la requête / réponse Ajax. www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 68

www.objis.com - Formation JSF RichFaces Bibliothèque composants graphiques JSF Basé sur Ajax4jsf (+ ajout skins + composants) <a4j:> et <rich:> + de 100 composants visuels demos : jboss.org/richfaces/demos.html JSF 1.2 / RichFace 3.x RI Mojarra MyFaces 1.2 JSF 2 / RichFaces 4 www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 69

www.objis.com - Formation JSF Composants a4j : <a4j:support> Permet d’ajouter le support d’ajax aux composants JSF de base Attribut ‘event’ : évènement javascript qui lance la requête ajax Attribut ‘reRender’ : contient les ids des composants à mettre à jour lors du retour de la réponse Attribut ‘actionListener’ : binding de la méthode qui prend un ActionEvent en paramètre et retourne un type void. Attribut ‘action’ : binding de la méthode qui invoque l’action de l’application www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 70

Attributs commun A4J / RichFaces reRender ajaxSingle : booléen pour limiter les phases 2,3,4 seulement au composant qui envoie la requête Immediate : comme en jsf, pour éviter phase validation/conversion bypassUpdates : permet d’éviter phases MAJ modèle + invocation application pour passer directement à phase rendu réponse. onComplete : code à exécuter coté client à la fin de la requête limitTolist : si valeur est true, la mise à jour des composants coté clients se limite à la liste dans l’attribut reRender timeOut : Max durée requête ajax Data : permet de récupérer du serveur une donnée durant la requête ajax. Ex : propriété d’un bean avec EL (sérialisée via JSON) www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 71

Intégration JSF / RichFaces Optionnel : intégration avec Facelets 1 Filtre RichFaces 3 2 Optionnel : intégration avec Facelets www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 72

Intégration JSF / RichFaces www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 73

Intégration Facelet / RichFaces www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 74

Intégration Facelet / RichFaces www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 75

www.objis.com - Formation JSF Modification Skins Skins par défaut dans META-INF/skins de l’archive RichFaces- impl-xxx.jar blueSky, Laguna, classic, glass-x,… Pour personnaliser skin, désarchiver richfaces-impl-xxx.jar Sur un fichier .properties, faire modif css désirées Archiver à nouveau le jar et mettre ds projet Web.xml www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 76

Concepts clés RichFaces Concept N°1 : envoi d'une requête Ajax <a4j:commandLink>,<a4j:commandButton> <a4j:support> <a4j:poll> Attribut limitToList Concept N°2 : mise à jour partielle de la page Attribut reRender <a4j:outputPanel> Concept N°3 : zones à traiter coté serveur <a4j:region> Attribut AjaxSingle Attribut process www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 77

Composants clés RichFaces Composants d'entrée <rich:inplaceInput>, <rich:inplaceSelect> <rich:suggestionBox>, <rich:comboBox>,... Composants de sortie <rich:panel>,<rich:simpleTogglepanel> <rich:tabPanel>,<rich:modalPanel>,<rich:PanelBar> Composants d'itération de données <rich:dataTable>, <rich:dataList>,<rich:dataGrid> <rich:dataScroller> (Pagination) Composants de sélection <rich:pickList>, <rich:orderingList> Composants de Menu <rich:dropDownMenu>, <rich:contextMenu> Données et arbres scrollables <rich:scrollableDataTable>, <rich:tree> www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 78

Concept N°1 : envoi requête Ajax www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 79

Création composant personnalisé 1) Créer classe hérite de javax.faces.component.UIComponentBase Redéfinir ma méthode encodeBegin(FaceContext context) Si attribut, alors redéfinir encodeEnd() 2) Enregistrer la classe dans faces-config.xml balise <component> 3) Créer un Tag spécifique (classe héritant de UIComponentTag) Ex : sf:sellerHello 4) Créer le descripteur (TLD) du Tag Exemple : http://www.theserverside.com/news/1364786/Building-Custom-JSF-UI-Components www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 80

Composant personnalisé : Comprendre son environnement www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 81

Composant personnalisé : Comprendre les sollicitations Lnacées par UIViewRoot à differentes phases du cycle de vie Méthodes à gérer : ProcessDecodes ProcessValidators ProcessUpdates ProcessApplication RenderResponse www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 82

Composant personnalisé : Comprendre UIViewRoot www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 83

www.objis.com - Formation JSF Impact à chaque phase Phase 1 (Restauration de la vue) Gestion de l'état (coté client ou serveur) : sauver / restaurer (optionnel) Implémenter javax.faces.component.StateHolder Ex : saveState retourne tableau d'objets Sérialisables Ex : restoreState attend un tableau d'objets Sérialisables Phase 2 (Traitement de la requête) 'Décoder' (exploiter en interne) les paramètres de requête Le faire dans composant OU déléguer à classe (Renderer) Impulsion par méthode processDecode du UIViewRoot (obligatoire) Implémeter méthode decode() Decode() travailler avec le Renderer 3) Créer un www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 84

Création composant personnalisé 1) Créer classe hérite de javax.faces.component.UIComponentBase Redéfinir ma méthode encodeBegin(FaceContext context) Si attribut, alors redéfinir encodeEnd() 2) Enregistrer la classe dans faces-config.xml balise <component> 3) Créer un Tag spécifique (classe héritant de UIComponentTag) Ex : sf:sellerHello 4) Créer le descripteur (TLD) du Tag Exemple : http://www.theserverside.com/news/1364786/Building-Custom-JSF-UI-Components www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 85

Composant personnalisé : Rendu visuel (Render) www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 86

Composant personnalisé : decode() dans composant www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 87

Composant personnalisé : decode() dans Renderer perso www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 88

Composant personnalisé : encodeBegin() www.objis.com - Formation JSF www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 89