Vous êtes sur la page 1sur 41

JAVA SERVER FACES

Cours JEE - Master 2

Universit de Marne-la-Valle

1
dimanche 7 novembre 2010

RAPPEL DARCHITECTURE

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

2
dimanche 7 novembre 2010

PROBLMATIQUE
Comment afcher des donnes en respectant le modle MVC, simplement, rapidement et srement ?

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

3
dimanche 7 novembre 2010

JSF
framework respect bas

en Java

du modle MVC

sur des composants

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

4
dimanche 7 novembre 2010

COMPOSANTS GRAPHIQUES
classes classes classes classes classes classes

Java qui codent le comportement et ltat de rendu qui traduisent la reprsentation graphique qui dnissent les balises personnalises qui modlisent la gestion des vnements qui prennent en comptent les Converteurs qui prennent en comptent les Validators
Persistance des donnes Universit de Marne-la-Valle

Cours JEE - Master 2

5
dimanche 7 novembre 2010

COMPOSANTS GRAPHIQUES

Pour utiliser les composants JSF on utilise des balises personalises !

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

6
dimanche 7 novembre 2010

BALISES HTML

description graphique dun JSF ensemble ni de composants graphiques (dautres librairies...) 25 composants proposs classis en quatre catgories :

Composants de saisies nots I Composants de sorties nots O Composants de commandes nots C Composants de regroupement nots R
Persistance des donnes Universit de Marne-la-Valle

Cours JEE - Master 2

7
dimanche 7 novembre 2010

DTAILS DES BALISES


Une

balise est constitue de trois types dattributs attributs de description attributs de description de prsentation (HTML)

des des des

attributs de description de prsentation dynamique (DHTML)

Selon la balise le nombre dattributs va varier !


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

8
dimanche 7 novembre 2010

ATTRIBUTS DE DESCRIPTION
id:

identiant du composant masque ou non le composant CSS appliquer au composant

rendered: styleClass: value:

valeur du composant nom de la classe pour une conversion des donnes nom de la classe pour une validation des donnes
Persistance des donnes Universit de Marne-la-Valle

converter: validator:
Cours JEE - Master 2

9
dimanche 7 novembre 2010

ATTRIBUTS HTML
Modication de lapparence du composant:

alt: texte dans le cas o le composant ne safche pas border: bordure du composant disabled: dsactive un composant de saisie ou un bouton maxlength: maximum de caractres pour du texte size: taille dun champ texte et bien dautres encore...
Persistance des donnes Universit de Marne-la-Valle

Cours JEE - Master 2

10
dimanche 7 novembre 2010

ATTRIBUTS DHTML
Aspect dynamique aux composants JSF:
onblur: onClick: onfocus:

le composant perd le focus clique de souris focus sur le composant touche clavier presse puis relche & onkeyup: touche clavier enfonce et relche
Persistance des donnes Universit de Marne-la-Valle

onkeypress: onkeydown onselect:


Cours JEE - Master 2
dimanche 7 novembre 2010

texte est selectionn dans un champ texte


11

COMPOSANTS DE SAISIES
inputHidden inputSecret inputText inputTextArea selectBooleanCheckbox selectManyCheckbox selectManyListbox selectManyMenu selectOneMenu selectOneRadio

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

12
dimanche 7 novembre 2010

INPUTHIDDEN: EXEMPLE

<h:inputHidden id="hidden">Hidden</h:inputHidden>

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

13
dimanche 7 novembre 2010

INPUTTEXT: EXEMPLE

<h:inputText id="test" />

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

14
dimanche 7 novembre 2010

INPUTTEXTAREA: EXEMPLE

<h:inputTextarea id="testAreaText" value="test deja present" title="test text area" />

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

15
dimanche 7 novembre 2010

LES SLECTIONS
selectOneRadio

dlments

& selectOneMenu grent un ensemble

Ces

lments sont peupls par : afche un seul lement afche plusieurs lments

<f:selectItem>:

<f:selectItems>:

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

16
dimanche 7 novembre 2010

SELECTONERADIO: EXEMPLE
<h:outputText value="Fruit : " /> <h:selectOneRadio layout="pageDirection"> <f:selectItem itemLabel="Banane" /> <f:selectItem itemLabel="Orange" /> <f:selectItem itemLabel="Clementine" /> <f:selectItem itemLabel="Pomme" /> <f:selectItem itemLabel="Framboise" /> </h:selectOneRadio>

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

17
dimanche 7 novembre 2010

SELECTITEM
spcication les

dun seul lment dune slection

principaux attributs de cette balise sont: active ou non litem

itemDisabled: itemLabel: itemValue: value:


Cours JEE - Master 2

le texte afcher la valeur retourne au serveur

la valeur qui pointe vers un objet SelectItem


Persistance des donnes Universit de Marne-la-Valle

18
dimanche 7 novembre 2010

CONSTRUCTEURS SUR SELECTITEM


Deux

constructeurs sont disponibles:

SelectItem(Object

value): une valeur afcher et la mme valeur retourner ct serveur value, String label): une valeur retourner ct serveur et un libell afcher

SelectItem(Object

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

19
dimanche 7 novembre 2010

SELECTITEM
Alourdit Adapte

lcriture des diffrents composantes dune slection pour un nombre rduit dlments dune slection

<f:selectItems> permet dallger lcriture puisquil ny aura quune seule occurence la place de toute les occurences de <f:selectItem> !
Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

20
dimanche 7 novembre 2010

SELECTITEMS: EXEMPLE

<h:outputText>Civilites</h:outputText> <h:selectOneRadio> <f:selectItems value="#{civilityBean.civilities}" /> </h:selectOneRadio>

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

21
dimanche 7 novembre 2010

COMPOSANTS DE SORTIES
column message outputFormat

et messages

outputLink graphicImage

dataTable outputText

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

22
dimanche 7 novembre 2010

OUTPUTTEXT: EXEMPLE

<h:outputText value="Sympa?" />

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

23
dimanche 7 novembre 2010

DATATABLE
visualisation utilisable column

de donnes sur plusieurs lignes et colonnes

quand le nombre dlments afcher est inconnu

dnit une nouvelle colonne de la balise:

attributs value: var:

une collection de donnes

nom de la variable manipule chaque ligne CSS


Persistance des donnes Universit de Marne-la-Valle

rowClasses, headerClass:
Cours JEE - Master 2

24
dimanche 7 novembre 2010

EXEMPLE: DATATABLE
<h:dataTable value="#{flowScope.listAuthor}" var="author" border="1" cellspacing="4" width="60%" > <h:column> <h:outputText value="#{author.firstname}"/> </h:column> <h:column> <h:outputText value="#{author.lastname}"/> </h:column> </h:dataTable>

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

25
dimanche 7 novembre 2010

DATATABLE SUITE...

facet permet de modier les en-ttes et pieds de page facet permet deffectuer une liation entre deux composants association entre le conteneur du facet et le contenu du facet trois types de liation possible spcie via lattribut name:

footer: liation entre la table et un nom header: liation entre un titre de colonne et un nom

caption: liation
Cours JEE - Master 2

entre le titre de la table est un nom


Persistance des donnes Universit de Marne-la-Valle

26
dimanche 7 novembre 2010

<h:dataTable value="#{flowScope.listAuthor}" var="author" border="1" cellspacing="4" width="60%" > <h:column> <f:facet name="header"> <f:verbatim>Prenom</f:verbatim> </f:facet> <h:outputText value="#{author.firstname}"/> </h:column> <h:column> <h:outputText value="#{author.lastname}"/> </h:column> </h:dataTable>

EXAMPLE: DATATABLE

Voyons ce que lon obtient...


Persistance des donnes

Cours JEE - Master 2

Universit de Marne-la-Valle

27
dimanche 7 novembre 2010

DATATABLE
Le composant de liation <f:facet> doit absolument tre un composant JSF !

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

28
dimanche 7 novembre 2010

MAQUILLER UNE DATATABLE


Les

attributs modier: style CSS pour len-tte de la table

headerClass: footerClass: rowClasses: rowClasses

style CSS pour le pied de la table style CSS pour les lignes de la table

permet de dnir un pattern de style CSS le pattern ? row1CSS, row2CSS, row2CSS


Persistance des donnes Universit de Marne-la-Valle

Quafchera
Cours JEE - Master 2

29
dimanche 7 novembre 2010

COMPOSANTS DE COMMANDES
commandLink commandButton

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

30
dimanche 7 novembre 2010

COMMANDLINK: EXEMPLE

<h:commandLink id="hum" action="consulter" value="TEST"/>

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

31
dimanche 7 novembre 2010

COMMANDBUTTON: EXEMPLE
<h:commandButton id="consulter" action="consulter" type="submit" value="Consultation" style="font:bold;" styleClass="none;" />

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

32
dimanche 7 novembre 2010

COMPOSANTS DE REGROUPEMENTS
form panelGrid panelGroup

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

33
dimanche 7 novembre 2010

PANELGRID

dnie lagencement des composants dans une page conteneur dont lorganisation des enfants sous forme dune grille les composants enfants sont ajouts dans le corps Principaux attributs:

columns: nombre de colonnes de la grille cellpading, cellspacing: espacement entre les cellules border: bord autour de la grille
Persistance des donnes Universit de Marne-la-Valle

Cours JEE - Master 2

34
dimanche 7 novembre 2010

EXEMPLE: PANELGRID
<h:panelGrid cellspacing="25" columns="2" > <h:outputText value="Nom : " /> <h:panelGroup> <h:inputText size="15" required="true" /> <h:inputText /> </h:panelGroup> <h:outputText value="Mot de passe : " /> <h:inputSecret /> </h:panelGrid>

Voyons ce que lon obtient...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

35
dimanche 7 novembre 2010

Mais... Comment avoir des donnes dynamiques et non pas statiques ?

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

36
dimanche 7 novembre 2010

BEAN: PRINCIPES
Un

Bean est une classe Java particulire: constructeur public sans argument proprits sont accessibles via des mthodes getXXX proprits sont modiables via des mthodes setXXX

un ses ses

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

37
dimanche 7 novembre 2010

ET DANS JSF...
Lutilisation

des Beans dans JSF permettent: des donnes provenant de la couche mtier

lafchage le la

stockage des valeurs dun formulaire validation des valeurs

Cest lattribut value dans les composants JSF...


Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

38
dimanche 7 novembre 2010

Et dans notre contexte...

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

39
dimanche 7 novembre 2010

CONTEXTE
navigation action cycle

gre via SpringWebow

gre via SpringWebow

de vie des Beans gr via Spring

JSF nous fournie au nal que des composants graphiques pour raliser nos vues !
Cours JEE - Master 2 Persistance des donnes Universit de Marne-la-Valle

40
dimanche 7 novembre 2010

Utilisez le squelette fournie pour le TD3 !

Cours JEE - Master 2

Persistance des donnes

Universit de Marne-la-Valle

41
dimanche 7 novembre 2010

Vous aimerez peut-être aussi