Tutoriel JSF2 N°2 : Vues et Template avec facelet en JSF2

////Tutoriel JSF2 N°2 : Vues et Template avec facelet en JSF2

Avec Objis, spécialiste formation JSF, découvrez la valeur ajoutée de Facelet, framework fourni en standard avec JSF 2 pour développer les vues et faciliter l’industrialisation de vos écrans JSF. Créez votre template , puis créer des vues ‘clientes’ du template. Mettez en oeuvre les balise ui:insert et ui:include dans votre template. Mettez en oeuvre les balise ui:composition et ui:define dans vos vues.

Programme

 Contexte

 Partie 1 : vue ‘main.xml’ version 0 (projet initial)

 Partie 2 : mettre en place le mécanisme de templating fournit par Facelet

 Partie 3: vue ‘main.xml’ version 1

 Partie 4: vue ‘main.xml’ version 2

 Partie 5 : vue ‘register.xhtml’

 Partie 6 : Design de la page avec Jboss Tools JSF

 Partie 7 : analyse des phases JSF

Objectifs

 Construire des vues en JSF 2 avec le Framework facelet

 Mettre en place le mécanisme de templating fournit par facelet

 Déployer votre application

Durée

1h

Contexte

 Facelets est un langage de déclaration proposant une bibliothèque de templates XHTML proposant les services suivants :

L’utilisation de XHTML pour la création de pages Web.

Le support compatible des librairies de tags JavaServer Faces et JSTL.

Le support du langage Expression Language (EL).

 Facelets diminue le temps de développement grâce aux éléments suivants:

Le support du mécanisme de template.

L’extensibilité de la librairie grâce à la création de balises personnalisées.

L’optimisation du temps d’exécution.

L’utilisation du langage d’expression EL.

 Par convention, les pages Web Facelets sont compatibles XHTML et portent l’extension .xhtml.

Partie 1 : projet initial – vue main.xhtml version 0

 Téléchargez le zip du projet

Jsf2ObjisFormation-TP4-INITIAL

 Vue ‘main.xml’ version 0

tutoriel-jsf-2-facelet-demo-facelet-main-v0

rendu

tutoriel-jsf-2-facelet-demo-facelet-main-v0-rendu

Partie 2 : Mise en place du mécanisme de Templating Facelet

INFO : Avec JSF 2, vous pouvez utiliser des balises Facelets pour fournir une mise en page standard d’interface (header, footer, menu, body…).

En JSF 2.0, un fichier de modèle (template / layout) est un fichier XHTML, avec quelques balises JSF facelets pour définir la disposition du modèle.

Feuille de style

 Dans le répertoire Webcontent , créer un dossier ‘resources’

 Dans le dossier ‘resources’, créer un dossier ‘css’

 dans le dossier ‘css’, créer le fichier common-style.css suivant :

common-style.css

Layout

 Dans le répertoire Webcontent , créer un dossier template.

 Dans le répertoire template créer le fichier layout.xml :

tutoriel-jsf-2-facelet-demo-layout-2

 Expliquez.

QUESTIONS:

 Expliquez les déclarations suivantes en tête du fichier main.xhtml :

 xmlns:f= »http://java.sun.com/jsf/core

 xmlns:h= »http://java.sun.com/jsf/html

 xmlns:ui= »http://java.sun.com/jsf/facelets

 Expliquez les tags facelets rencontrés dans la vue main.xhtml

 ui:insert

 ui:include

folder template

 Dans le répertoire ‘template’ , codez le fichier header

header.xhtml

 Dans le répertoire ‘template’ , codez le fichier footer

footer.xhtml

 Dans le répertoire ‘template’ , codez le fichier content

tutoriel-jsf-2-facelet-content

Vue ‘main.xhtml’ version 1

 La vue main.xhtml est ‘cliente’ du fichier template Layout.xhtml.

code

tutoriel-jsf-2-facelet-demo-layout-v0

 Expliquez le tag facelet rencontré dans la vue main.xhtml

 ui:composition

rendu

tutoriel-jsf-2-facelet-demo-layout-v0-rendu

 Expliquez

Vue ‘main.xhtml’ version 2

code

tutoriel-jsf-2-facelet-demo-layout-v1

 Expliquez les tags facelets rencontrés dans la vue main.xhtml

 ui:composition

 ui:define

rendu

resultat de l'exécution

 Expliquez

Que se passe t’il lors de l’appui sur le lien hypertexte ? Pourquoi ?

Projet Eclipse

Jsf2ObjisFormation-TP4

Partie 5 : nouvelle vue ‘register.xhtml’

Partie 1

En utilisant le composant ‘panelgrid’ de JSF , proposez une nouvelle page ‘register.xml’ ressemblant à ceci :.

tutoriel-jsf-premiere-appli-facelet-final-navigation

Partie 2

A partir de la page main.xhtml version 2 , cliquez à nouveau sur le lien hypertexte . Que se passe t’il ? pourquoi ? En déduire la notion de ‘validation implicite’

Partie 6 : design de la page avec Jboss Tools JSF

Il peut être utile d’avoir une vue de l’écran JSF.

En utilisant le Marketplace Eclipse, installez le plugin Jboss Tools.

Sélectionnez les outils suivants :

 Jboss Tools JSF

 Visual page Editor

REMARQUE : cette fonctionnalité n’est pas disponible si vous avez un Eclipse/jdk 64 bits.

Partie 7 : écouteur phases JSF

 Rappelez les 6 phases du cycle de vie d’une requête JSF

Code

 Ajoutez le code suivant dans le projet

phaselistener-jsf-3

 Expliquez

Configuration

 Ajoutez la configuration suivante dans faces-config.xml

phaselistener-jsf-2

 Expliquez

Logs PHASES

Expliquez le résultat :

phaselistener-jsf-4

Conclusion

Dans ce tutoriel, vous avez mis en oeuvre la technique d’industrialisation des pages JSF : Facelet. Vous avez créé des pages JSF à partir d’un modèle.

De plus vous avez mis en oeuvre une technique de navigation implicite permettant de passer d’un écran à l’autre.

Formation JSF

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur JSF : Formation JSF
programme détaillé JSF 2

2018-02-01T06:26:50+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java