Vous êtes sur la page 1sur 25

Javaserver Faces

Premire approche

Evolution des technologies web


1) Servlets 2) JSP

3) MVC Model 1 : servlets + JSP


4) MVC Model 2 : un seule servlet + JSP 5) Java Server Faces

JSF, c'est quoi ?

Framework qui facilite et standardise le dveloppement d'applications web


S'appuie sur les technologies qui l'ont prcd Peut tre mis en oeuvre par des outils pour permettre un dveloppement de type RAD

Java Studio Creator - Sun WSAD - IBM JBuilder Borland JDevelopper - Oracle

JSF, c'est quoi ?

Peut tre cod la main, l'utilisation d'un outil est fortement recommande
Technologie ct serveur oriente interface utilisateur Spare clairement la partie interface de la partie mtier Version 1.0 de Java Server Faces: JSR-127 valide en mars 2004

http://java.sun.com/j2ee/javaserverfaces/

JSF va plus loin

Assemblage de composants serveur qui gnrent le code de leur rendu


Possibilit d'associer certains composants une source de donnes encapsule dans un bean Utilisation d'vnements et de listener Conversion et validation des donnes avant leur utilisation dans les traitements

JSF va plus loin

Possibilit d'tendre les diffrents modles et de crer ses propres composants


Configuration de la navigation entre les pages Support de l'internationalisation Support pour l'utilisation par des outils graphiques

JSF se compose:

d'une spcification qui dfinit le mode de fonctionnement du framework


d'une API : l'ensemble des classes de l'API est contenu dans les packages javax.faces d'une implmentation de rfrence de bibliothques de tags personnaliss fournies par l'implmentation pour

utiliser les composants dans les JSP

grer les vnements


valider les donnes saisies

Cycle de vie d'une requte


Cration de l'arbre de composants


Extraction des donnes des diffrents composants de la page

Conversion et validation des donnes


Extraction des donnes valides et mise jour du modle de donnes (javabean) Traitements des vnements lis la page Gnration du rendu de la rponse

Cycle de vie d'une requte

Configuration d'une application

La structure est celle d'une application j2ee


/ /WEB-INF /WEB-INF/web.xml /WEB-INF/lib /WEB-INF/classes

Les bibliothques ncessaires


jsf-api.jar
jsf-ri.jar jstl.jar standard.jar common-beanutils.jar

commons-digester.jar
commons-collections.jar

commons-logging.jar

Configuration : web.xml

Configuration: faces-config.xml

Ce fichier est au mme niveau que web.xml


Il peut aussi tre dcoup en plusieurs fichiers diffrents

Dans ce cas:

Support des fichiers de ressource pour l'internationalisation

Backing beans

EL: le langage d'expression

La liaison des donnes entre le backing bean et la page s'effectue au moyen d'expressions:

<h:inputText value="#{login.nom}"/>
<h:inputText value="#{login["nom"]}"/> <h:inputText value="#{login.['nom']}"/>

<h:outputText value="#{messages.salutation}, #{utilisateur.nom}!"/>

Composants graphiques
JSF propose :

un ensemble de classes qui grent le comportement et l'tat d'un composant

un modle pour assurer le rendu du composant pour un type d'application (par exemple HTML)
un modle de gestion des vnements mis par le composant reposant sur le modle des listeners la possibilit d'associer un composant de conversion ou de validation des donnes

12 composants de base

Les modles de rendu

L'implmentation de rfrence propose un seul modle de rendu (HTML) Il est possible d'associer plusieurs modles de rendu

L'association entre un composant et son modle de rendu est ralise dans un RenderKit
Par exemple, un objet de type UISelectOne peut tre rendu par

un ensemble de bouton radio une liste une liste droulante

Utilisation dans une jsp

Utiliser une directive taglib:

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

Tag view la racine:

La taglib core

La taglib html (1)

La taglib html (2)

Exemple (1)

Exemple (2)

Exemple (3)

Vous aimerez peut-être aussi