Vous êtes sur la page 1sur 51

FAQ JSF

Date de publication : 21/01/2008 Dernire mise jour : 22/12/2009

Cette faq a t ralise partir des questions frquemment poses sur les forums de www.developpez.com et de l'exprience personnelle des auteurs. Nous tenons souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette faq ne prtend pas non plus tre complte. Si vous trouvez une erreur, ou que vous souhaitez nous aider, lisez ceci. Sur ce, nous vous souhaitons une bonne lecture. L'quipe Java

Ont contribu cette FAQ :

Rdaction Java (Equipe Java) - fabszn - Sniper37 - JauB - Ricky81 - djo.mos - romaintaz - davdou -

FAQ JSF

1. 2. 3. 4. 5.

Informations (5) ......................................................................................................................................................................... 4 Gnralits (3) ........................................................................................................................................................................... 6 Configuration de l'application Web (6) .....................................................................................................................................8 Les bases de JSF (9) ............................................................................................................................................................... 11 Utilisations des composants standard (30) ..............................................................................................................................17 5.1. Les composants non-visuels (10) ................................................................................................................................... 18 5.2. Les composants visuels (19) .......................................................................................................................................... 23 5.2.1. Les composants de sortie (4) .................................................................................................................................24 5.2.2. Les composants de mise en page (2) .................................................................................................................... 26 5.2.3. Les composants de saisie (4) .................................................................................................................................27 5.2.4. Les composants d'action (2) .................................................................................................................................. 31 5.2.5. Les composants de slection (6) ........................................................................................................................... 33 5.2.5.1. slection unique (3) ...................................................................................................................................... 34 5.2.5.2. slection multiple (3) .................................................................................................................................... 37 6. Extension (4) ............................................................................................................................................................................40 7. Quelques erreurs frquentes (3) .............................................................................................................................................. 44 8. Trucs et Astuces (10) .............................................................................................................................................................. 46

-3Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Informations Quels sont les droits de reproduction de cette FAQ ?
Auteurs : Rdaction Java , Les codes sources prsents sur cette page sont libres de droits, et vous pouvez les utiliser votre convenance. Pour le reste, ce document constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 Developpez LLC : Tous droits rservs Developpez LLC. Aucune reproduction, ne peux en tre faite sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts. Cette page est dpose la SACD. lien : Quels sont les droits de reproduction de cette FAQ ?

Comment bien utiliser cette FAQ ?


Auteurs : Rdaction Java , Le but : Cette faq a t conue pour tre la plus simple possible d'utilisation. Elle tente d'apporter des rponses simples et compltes aux questions auxquelles sont confronts tous les dbutants (et les autres). L'organisation : Les questions sont organises par thme, les thmes pouvant eux-mme contenir des sous-thmes. Lorsqu'une question porte sur plusieurs thmes, celle-ci est insre dans chacun des thmes rendant la recherche plus facile. Les rponses : Les rponses contiennent des explications et des codes sources. Certaines sont compltes de fichier tlcharger contenant un programme de dmonstration. Ces programmes sont volontairement trs simples afin qu'il soit ais de localiser le code intressant. Les rponses peuvent galement tre compltes de liens vers d'autres rponses, vers la documentation en ligne de Sun ou vers un autre site en rapport. Nouveauts et mises jour : Lors de l'ajout ou de la modification d'une question/rponse, un indicateur est plac cot du titre de la question. Cet indicateur reste visible pour une dure de 15 jours afin de vous permettre de voir rapidement les modifications apportes. J'espre que cette faq pourra rpondre vos questions. N'hsitez pas nous faire part de tous commentaires/remarques/ critiques. lien : Comment participer cette FAQ ?

O trouver d'autres sources d'information ?


Auteurs : Rdaction Java , Les cours et didacticiels de www.developpez.com Les forums de la section Java de www.developpez.com

-4Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Les FAQs Java de www.developpez.com

Comment participer cette FAQ ?


Auteurs : Rdaction Java , Cette faq est ouverte toute collaboration. Pour viter la multiplication des versions, il serait prfrable que toutes collaborations soient transmises aux administrateurs de la faq. Plusieurs comptences sont actuellement recherches pour amliorer cette faq : Rdacteur : Bien videmment, toute nouvelle question/rponse est la bienvenue. Web designer : Toute personne capable de faire une meilleur mise en page, une feuille de style ou de belles images... Correcteur : Malgr nos efforts des fautes d'orthographe ou de grammaire peuvent subsister. Merci de contacter les administrateurs si vous en dbusquez une... Idem pour les liens errons. lien : Quels sont les droits de reproduction de cette FAQ ?

Remerciements
Auteurs : Rdaction Java , Un grand merci tous ceux qui ont pris de leur temps pour la ralisation de cette FAQ. Aux rdacteurs : Remerciements tout d'abord tous ceux qui ont rdig les questions et les rponses. Aux correcteurs : Remerciements galement aux personnes qui ont relu les textes pour supprimer un maximum de fautes de franais. Aux visiteurs : Remerciements enfin tous ceux qui ont consult cette FAQ, et qui, par leurs remarques, nous ont aid la perfectionner. Et pour finir, un merci tout spcial tous les membres de l'quipe qui nous ont fourni outils et logiciels ncessaires pour la ralisation de ce document.

-5Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Gnralits Qu'est ce que JSF ?


Auteurs : djo.mos , Java ServerFaces (JSF) est un framework de dveloppement d'applications Web bas sur les composants, qui permet de dvelopper des interfaces client riches tout en respectant le paradigme MVC. Il bnficie des apports de Struts dont le crateur Craig McLahanan en est galement le principal concepteur et dveloppeur (avec Ed Burns) ainsi que d'autres technologies Java comme Swing avec son modle vnementiel, les servlets et les JSP. JSF fait partie du standard Java EE, et est donc le fruit du JCP (Java Community Process). JSF est actuellement en version 1.2 ( JSR 252). JSR 127.

Les spcifications de la version 1.0 et 1.1 taient dfinies dans la La version 2.0 est en cours de prparation via la lien : Quelles sont les implmentations JSF ? JSR 314.

Quelles sont les implmentations JSF ?


Auteurs : djo.mos , JSF tant un ensemble de spcifications (comme toutes les technologies Java EE), il dispose de nombreuses implmentations. Chaque serveur d'application Java EE offre d'office une implmentation JSF mais il existe aussi des implmentations indpendantes utilisables dans les conteneurs Web (Tomcat, Jetty, etc.) comme par exemple: Sun JSF 1.2 RI: C'est l'implmentation de rfrence de JSF maintenue par Sun. Elle est donc la plus jour et est aussi utilise dans Glassfish. Elle est open source et gratuite. Apache MyFaces: Une implmentation open source et gratuite issue de la fondation Apache. La version 1.2 implmente JSF 1.2.

lien : Quelles sont les jeux de composants JSF gratuits disponibles ?

Quelles sont les jeux de composants JSF gratuits disponibles ?


Auteurs : djo.mos , Si vous trouvez que les jeux de composants standards d'une implmentation JSF ne sont pas suffisants, vous pouvez utiliser ces jeux de composants gratuits et plus riches: JBoss Richfaces (ex Exadel Richfaces): C'est un jeu de composants open source et gratuit. Il permet d'ajaxifier simplement son appplication JSF et offre de nombreux composants complexes (Tree, images dynamiques, drag'n'drop, etc.) Apache Trinidad (Originellement Oracle ADF Faces): un ensemble extrmement riche de composants. Apache Tomahawk: un ensemble de composants additionnels pour Apache MyFaces mais peut tre utilis sparment. ICEfaces

-6Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Woodstock

-7Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Configuration de l'application Web Comment configurer la Faces servlet dans le fichier web.xml ?
Auteurs : djo.mos , Il faut ajouter l'lment suivant dans le fichier web.xml:
<servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>

Et ce indpendamment de l'implmentation choisie. Avec: <servlet-name> dfinit l'alias dont vous devez vous servir dans le reste du descripteur de dploiement web.xml. <servlet-class> dfinit le nom entirement qualifi de la servlet Faces Servlet. <load-on-startup> (entier positif) sert attribuer une priorit de chargement de la servlet par le conteneur, 1 tant la priorit la plus leve.

Pour dfinir quelles sont les requtes que la servlet FacesServletdoit intercepter, il faut configurer le mapping de celle-ci:
<servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping>

Vous pouvez aussi utiliser d'autres mapping comme *.faces ou /faces/* La Faces Servlet ncessite un fichier de configuration nomm gnralement faces-config.xml. lien : Quelle est la structure du fichier faces-config.xml ? lien : Quelles sont les implmentations JSF ?

Quelle est la structure du fichier faces-config.xml ?


Auteurs : djo.mos , Pour JSF 1.0:
<?xml version="1.0"?> <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd"> <faces-config> </faces-config>

Pour JSF 1.1:


<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> <faces-config>

-8Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

</faces-config>

Pour JSF 1.2:


<?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/webfacesconfig_1_2.xsd" version="1.2"> </faces-config>

Comment changer le nom ou l'emplacement du fichier faces-config.xml ?


Auteurs : djo.mos , Le nom et l'emplacement du fichier de configuration de JSF faces-config.xml sont spcifis par un paramtre de contexte dans web.xml. Le chemin vers ce fichier est un chemin relatif partir de la racine de l'application. L'exemple suivant est identique une dclaration sans section <context-param> (valeur par dfaut) :
<context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value> </context-param>

lien : Comment avoir plusieurs fichiers de config dans la meme application ?

Comment avoir plusieurs fichiers de config dans la meme application ?


Auteurs : Sniper37 , Il faut ajouter dans le web.xml :
<context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/navigation.xml,/WEB-INF/myfaces-config.xml</param-value> </context-param>

Comment utiliser une page JSF en tant que page d'accueil ?


Auteurs : djo.mos , Premire mthode : via redirection: Pour utiliser une page JSF comme page d'accueil, il faut passer par une page jsp intermdiaire qu'on dclare dans la liste des welcome-file-list et qui redirige vers la pages JSF: Par exemple, si on veut que la page pageDmarrage.jsp qui est une page JSF (contenant des composants JSF) soit la page d'accueil, il faut: Dans web.xml :
<welcome-file-list> -9Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

<welcome-file>index.jsp</welcome-file> </welcome-file-list>

Dans index.jsp :
<jsp:forward page="pageDmarrage.jsf" />

Si vous utilisez *.jsf comme pattern de la Faces Servlet. lien : Comment configurer la Faces servlet dans le fichier web.xml ? lien : Comment utiliser une page JSF en tant que page d'accueil (deuxime mthode) ?

Comment utiliser une page JSF en tant que page d'accueil (deuxime mthode) ?
Auteurs : davdou , Il faut crer un fichier (qui peut tre vide) en plus de la page d'accueil JSF et qui porte le mme nom mais avec l'extension attach la FacesServlet. Par exemple, pour utiliser accueil.faces comme page d'accueil, il faut: Dans web.xml :
<welcome-file-list> <welcome-file>accueil.faces</welcome-file> </welcome-file-list>

Crer comme d'habitude la page JSF (accueil.jsp, accueil.xhtml, accueil.jspx). Mais aussi crer un fichier "accueil.faces" (mme vide) dans la racine du dossier web. lien : Comment configurer la Faces servlet dans le fichier web.xml ? lien : Comment utiliser une page JSF en tant que page d'accueil ?

- 10 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Les bases de JSF Comment dclarer un managed bean ?


Auteurs : djo.mos , Dans faces-config.xml, on ajoute l'lment suivant:
<managed-bean> <managed-bean-class>UnManagedBean</managed-bean-class> <managed-bean-name>unManagedBean</managed-bean-name> <managed-bean-scope>session</managed-bean-scope> <description>Ceci est un exemple de managed bean</description> </managed-bean>

Avec: <managed-bean-class> pour dfinir le type du managed bean <managed-bean-name> pour dfinir le nom sous lequel le bean sera expos aux pages JSF <managed-bean-scope> pour dfinir o sera stock le managed-bean (request, session, application)

lien : Comment initialiser les proprits d'un managed bean depuis le fichier de configuration ?

Comment initialiser les proprits d'un managed bean depuis le fichier de configuration ?
Auteurs : djo.mos , En ajoutant un lment <managed-property> dans la dclaration du managed-bean dans faces-config.xml:
<managed-property> <property-name>chane</property-name> <property-class>java.lang.String</property-class> <value>Une valeur quelquonque</value> </managed-property>

Avec: <property-name> est le nom de la proprit (le nom de dclaration) <property-class> est le type de la proprit <value> la valeur affecter la proprit

Pour les types complexes (collections), voici comment on procde: Pour une liste (List)/ensemble (Set):
<managed-property> <property-name>liste</property-name> <property-class>java.util.List</property-class> <list-entries> <value-class>java.lang.String</value-class> <value>Valeur 1</value> <value>Valeur 2</value> <value>Valeur 3</value> </list-entries> </managed-property>

Pour une Map:

- 11 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

<managed-property> <property-name>map</property-name> <property-class>java.util.Map</property-class> <map-entries> <key-class>java.lang.Long</key-class> <value-class>java.lang.String</value-class> <map-entry> <key>1</key> <value>Valeur 1</value> </map-entry> <map-entry> <key>2</key> <value>Valeur 2</value> </map-entry> </map-entries> </managed-property>

lien : Comment dclarer un managed bean ?

C'est quoi l'Expression Language de JSF ?


Auteurs : djo.mos , L'Expression Language (EL) de JSF est un mini-langage similaire l'EL de JSP 2.0 ou de JSTL qui permet de rcuprer ou de modifier un attribut. Dans JSF, un EL est mise dans #{} et peut tre utilis dans la majorit des attributs des composants. Ils sont en gnral utiliss pour lier un attribut d'un composant un champ d'un managed bean, et ce dans les deux sens ( l'inverse de l'EL de JSP 2.0). Voici une liste non exhaustive des cas d'utilisation des EL:

- 12 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

EL #{unBean.unChamp}

Signification Retourne la valeur du champ unChamp du managed bean unBean #{unBean['unChamp']} quivalente l'ecriture prcdente #{unBean.unChamp.unAutreChamp.encoreUnChamp} Les EL n'imposent pas une limite quant la profondeur #{uneListe[5]} Retourne le cinquime lment de la liste uneListe #{unMap['uneCl']} accde la valeur enregistre dans le map unMap sous la cl uneCl. #{unMap.uneCl} quivalente l'criture prcdente #{uneListe[unBean.unIndice]} accde l'lment d'indice gal la valeur du champ unIndice du bean unBean. #{unMap[unBean.uneCl]} accde la valeur enregistre dans le map unMap sous la cl de valeur gale la valeur du champ uneCl du bean unBean. #{unMap[unBean.uneCl][2]} accde au second lment de la liste enregistre dans le map unMap sous la cl unBean.uneCl #{uneValeur>25} retourne true si une valeur est < 25. Les oprateurs suivants sont aussi supports: <, <=, >, >=, ==, !=. #{uneValeur>25 and uneAutreValeur<10} les EL supportent les oprateurs boolens: and, or et not. #{(unChamp==1?'premier':'autre')} retourne la chane 'premier' si unChamp est gal 1, 'autre' sinon. le nom est #{unBean.nom} et l'age est Les EL peuvent tre combins avec un #{unBean.age} contenu statique. #{10+2/3*(8-1)} Les EL peuvent valuer des expressions arithmtiques. Ces diverses cas d'utilisation peuvent tre combines pour construire des EL de n'importe quelle complexit.

Comment spcifier une rgle de navigation (navigation-rule) ?


Auteurs : djo.mos , dans faces-config.xml, il faut ajouter un lment <navigation-rule> :
<navigation-rule> <display-name>test</display-name> <from-view-id>/pageSource.jsp</from-view-id> <navigation-case> <from-outcome>ok</from-outcome> <to-view-id>/pageDestination.jsp</to-view-id> </navigation-case> </navigation-rule>

avec: <from-view-id> dsigne la page source <navigation-case> reprsente un cas de navigation partant de la page source. Il est parfaitement possible d'inclure plusieurs cas de navigation dans une seule rgle de navigation.

- 13 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

<from-outcome> reprsente le rsultat d'une action qui active ce cas de navigation et enfin, <to-view-id> reprsente la page destination, i.e. la page ou redriger.

Pour plus de contrle, il est possible d'affiner encore le outcome en le contraignant une action particulire:
<navigation-case> <from-action>#{monManagedBean.monAction}</from-action> <from-outcome>ok</from-outcome> <to-view-id>/pageDestination.jsp</to-view-id> </navigation-case>

Enfin, il est possible d'utiliser un redirect au lieu de forward (comportement par dfaut) en ajoutant l'lment <redirect / > dans le navigation-case. lien : Quelle est la structure du fichier faces-config.xml ?

Comment accder une proprit d'un managed bean dans une page ?
Auteurs : djo.mos , Il faut auparavant s'assurer que la proprit est dclare dans le bean en question, qu'elle respecte les conventions de nommage de Java et qu'elle admet au moins un getter.
public class MonManagedBean { private String messageAccueil = "Bienvenu"; public String getMessageAccueil() { return messageAccueil; } public void setMessageAccueil(String messageAccueil) { this.messageAccueil = messageAccueil; } }

Si on dclare ensuite cette classe comme tant managed-bean, il devient possible alors d'accder la proprit messageAccueil via l'EL comme ceci:
<h:outputText value="#{monManagedBean.messageAccueil}"/>

JSF n'accde jamais directement un champ: il passe toujours par le getter en cas de lecture et le setter en cas d'criture. lien : Comment dclarer un managed bean ?

Comment invoquer un traitement Java depuis une page JSF ?


Auteurs : djo.mos , Il faut d'abord crer une action dans un managed bean. En JSF, une action est une mthode qui admet la signature suivante:
public String unNomQuelquonque();

i.e. une mthode publique ne prenant aucun paramtre et retournant une chane de caractres.

- 14 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Ensuite, il suffit d'indiquer l'EL de cette mthode comme valeur de l'attribut action d'un commandButton ou commandLink. Exemple d'action:
public class MonManagedBean { private int test=0; public String monAction() { test++; return null; } public int getTest() { return test; } }

Et dans la page JSF:


<h:outputText value="#{monManagedBean.test}" /> <h:form> <h:commandButton action="#{monManagedBean.monAction}" /> </h:form>

Ainsi, en cliquant sur le bouton, la mthode monAction sera invoque. Le type de retour d'une action est une chane de caractres. Aprs avoir invoqu une action, JSF rcupre son rsultat de retour et l'utilise pour dterminer la page suivante afficher. Pour ce faire, il utilise les rgles de navigations dfinies dans faces-config.xml. Dans JSF, il est possible et trs simple de crer n'importe quel nombre de boutons chacun invoquant une action diffrente dans un seul formulaire. lien : Comment crer un bouton de commande dans une page JSF ? lien : Comment crer un lien de commande dans une page JSF ?

Comment utiliser les resourceBundle avec JSF ?


Auteurs : djo.mos , Aprs avoir cr le fichier .properties, il faut l'importer dans la page JSF:
<f:loadBundle var="msgs" basename="nomDuFichier"/>

O basename est le nom du fichier .properties (l'extension est optionnelle) et var le nom sous lequel les messages seront accessibles. Ensuite, pour afficher un message particulier, il suffit de faire:

- 15 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

<h:outputText value="#{msgs.nomDuneCl}" />

Comment utiliser l'injection de dpendances avec JSF ?


Auteurs : Sniper37 , JSF ralise l'injection de dpendances via l'utilisation de l'EL dans faces-config.xml. exemple :
<managed-bean> <managed-bean-name>address</managed-bean-name> <managed-bean-class>package.Address</managed-bean-class> </managed-bean> <managed-bean> <managed-bean-name>person</managed-bean-name> <managed-bean-class>package.Person</managed-bean-class> <managed-property> <property-name>address</property-name> <property-class>package.Address</property-class> <value>#{address}</value> </managed-property> </managed-bean>

lien : C'est quoi l'Expression Language de JSF ?

A quoi sert l'attribut immdiate ?


Auteurs : fabszn , Lorsqu'un attribut immediate=#true# est renseign sur un composant, cela signifie que la valeur de ce composant va tre value durant la phase Apply Request Values et non pendant la phase Process validations. Cela permet de contourner la validation pour l'action au sein du page. Par exemple, si vous avez un bouton au sein d'un formulaire permettant d'afficher un nouveau champ en fonction d'une valeur slectionne dans un autre, sans pour autant effectuer la validation complte du formulaire (car c'est une opration intermdiaire). Il faut ajouter l'attribut immediate="true" au niveau du bouton et au niveau du champ conditionnant l'affichage du champ tier. Cela aura pour effet d'effectuer une action vers le serveur (celle dclare au niveau du bouton) et de ne pas dclencher la phase de validation. Seule(s) le(s) valeurs des champs dclare(s) avec l'attribut immediate seront accessible dans l'arbre de composants. lien : Comment executer une requete sans passer par les phases validation et conversion ?

- 16 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard Comment utiliser les composants standards de JSF dans une page JSP ?
Auteurs : djo.mos , JauB , Ricky81 , Il faut importer les taglibs qui exposent les composants standard de JSF (core et html). Pour importer les composants core, il faut mettre dans l'entte de la JSP:
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

ou dans une page XML strict (jspx, xhtml, etc.), ajouter ceci l'lment racine:
<html xmlns:f="http://java.sun.com/jsp/jstl/core">...</html>

Pour importer les composants html, il faut mettre dans l'entte de la JSP:
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>

ou dans une page XML strict (jspx, xhtml, etc.), ajouter ceci l'lment racine:
<html xmlns:h="http://java.sun.com/jsp/jstl/html">...</html>

Dans le cas d'un conteneur web avant Servlet 2.4, il faut importer manuellement les fichiers tld dans le dossier WEBINF et les dclarer dans web.xml:
<jsp-config> <taglib> <taglib-uri>http://java.sun.com/jsf/html</taglib-uri> <taglib-location>/WEB-INF/tld/html_basic.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsf/core</taglib-uri> <taglib-location>/WEB-INF/tld/jsf_core.tld</taglib-location> </taglib> </jsp-config>

- 17 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants non-visuels Qu'est-ce que le composant view ?
Auteurs : djo.mos , Le composant view (qui fait partie du jeu de composants core) est utilis comme conteneur de tous les composants JSF dans une page. Le principal attribut de ce composant est: attribut locale type EL ou chane Signification La locale (pramtres rgionaux) de la page courante.

Exemples:

<f:view>...</f:view>

<f:view locale="fr">...</f:view>

<f:view locale="#{bean.locale}">...</f:view>

lien : Qu'est-ce que le composant subview ?

Qu'est-ce que le composant subview ?


Auteurs : djo.mos , Le composant subview (qui fait partie du jeu de composants core) est utilis comme conteneur de tous les composants JSF dans une page incluse depuis une autre page JSF. Les principaux attributs de ce composant sont: attribut id rendered chane EL ou boolen type Signification L'identifiant du composant (attribut obligatoire). Si oui ou non ce composant est inclus dans la page rsultante.

Exemples:

- 18 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

<f:subview>...</f:subview>

lien : Qu'est-ce que le composant view ?

Qu'est-ce que le composant facet ?


Auteurs : djo.mos , Le composant facet (qui fait partie du jeu de composants core) est utilis pour dfinir une partie de son composant parent. Il est utilis par exemple dans les tables pour dfinir l'entte. Le principal attribut de ce composant est: attribut name chane type Signification Le nom de la facet (attribut obligatoire).

Le composant facet n'a de sens que si le composant parent prvoit son utilisation.

Qu'est-ce que le composant verbatim ?


Auteurs : djo.mos , Le composant verbatim permet d'encapsuler du contenu HTML brut pour pouvoir l'inclure dans l'arbre de composants de JSF. Le principal attribut de ce composant est: attribut escape type EL ou boolen Signification Si oui o non chapper le contenu HTML.

Qu'est-ce que le composant selectItem ?


Auteurs : djo.mos , Le composant selectItem permet d'ajouter un choix son composant parent qui doit tre un composant de slection parmi plusieurs choix (boutons radio, liste, etc.). Les principaux attributs de ce composant sont: attribut itemLabel itemValue type EL ou chane EL ou chane Signification Le texte descriptif du choix. Le valeur du choix.

lien : Qu'est-ce que le composant selectItems ? lien : Comment utiliser les boutons Radio dans une page JSF ? lien : Comment utiliser les listes droulantes dans une page JSF ? lien : Comment utiliser les listes choix unique dans une page JSF ?

- 19 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

lien : Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ? lien : Comment utiliser plusieurs case cocher dans une page JSF ? lien : Comment utiliser une liste choix multiples dans une page JSF ?

Qu'est-ce que le composant selectItems ?


Auteurs : djo.mos , Le composant selectItems permet d'ajouter plusieurs choix son composant parent qui doit tre un composant de slection parmi plusieurs choix (boutons radio, liste, etc.). Le principal attribut de ce composant est: attribut value EL type Signification EL pointant vers un champ d'un managed bean de type List qui retourne une liste de javax.faces.model.SelectItem.

lien : Qu'est-ce que le composant selectItem ? lien : Comment utiliser les boutons Radio dans une page JSF ? lien : Comment utiliser les listes droulantes dans une page JSF ? lien : Comment utiliser les listes choix unique dans une page JSF ? lien : Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ? lien : Comment utiliser plusieurs case cocher dans une page JSF ? lien : Comment utiliser une liste choix multiples dans une page JSF ?

Comment utiliser les validators standards ?


Auteurs : Sniper37 , Pour indiquer qu'un champ est obligatoire, il faut mettre la valeur de l'attribut required "true". exemple:
<h:inputText id="nom" value="#{bean.nom}" required="true">

Pour indiquer que la valeur d'un champ numrique de type entier est dans un intervalle [min..max], on utilise le composant validateLongRange:
<h:inputText id="quantity" value="#{unBean.quantity}"> <f:validateLongRange maximum="10" minimum="0"/> </h:inputText>

Pour indiquer que la valeur d'un champ numrique de type rel est dans un intervalle [min..max], on utilise le composant validateDoubleRange:
<h:inputText id="quantity" value="#{unBean.quantity}"> <f:validateDoubleRange maximum="5.5" minimum="2.23"/> </h:inputText>

Pour indiquer que la longueur d'un champ textuel est dans un intervalle [min..max], on utilise le composant validateLength:
<h:inputText id="quantity" value="#{unBean.quantity}"> <f:validateLength minimum="2" maximum="25" /> - 20 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

</h:inputText>

lien : Comment afficher les messages d'erreurs gnrs par les validators ? lien : Comment crer un validator personnalis ? lien : Comment crer un validator personnalis ? (Deuxime mthode) lien : Comment utiliser les converters standards ?

Comment afficher les messages d'erreurs gnrs par les validators ?


Auteurs : djo.mos , En utilisant les composants <h:message /> et <h:messages /> <h:messages /> permet d'afficher les messages d'erreurs gnrs par tous les validators prsents dans une page sous forme d'une liste. <h:message /> permet d'afficher les messages d'erreur gnr par les validators attachs un composant particulier, en utilisant l'attribut for. exemple:
<h:inputText value="#{control.name}" required="true" id="name"> <f:validateLength minimum="4" maximum="20" /> </h:inputText> <h:message for="name" />

lien : Comment modifier les messages d'erreurs par dfaut des validators JSF ? lien : Comment utiliser les validators standards ?

Comment utiliser les converters standards ?


Auteurs : djo.mos , Les converters permettent de convertir une valeur entre un composant et un champ d'un managed bean (dans les deux sens). JSF offre deux converters standards qui sont convertDateTime et convertNumber. convertDateTime permet de convertir la valeur d'un champ texte en une date ou temps et ce selon un pattern que l'on peut spcifier (le mme que pour SimpleDateFormat)
<h:inputText value="#{control.birthDate}" id="date"> <f:convertDateTime pattern="dd/MM/yyyy" type="date" /> </h:inputText>

convertDateTime peut aussi tre utilis pour faire la conversion dans l'autre sens, c'est dire convertir un champ de type Date en une chane qu'on contrle via le pattern:
<h:outputText value="#{control.birthDate}" id="date"> <f:convertDateTime pattern="dd/MM/yyyy" type="date" /> </h:outputText>

convertNumber permet de convertir depuis et vers un nombre:


<h:inputText value="#{control.age}" > <f:convertNumber pattern="##" />

- 21 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

</h:inputText> <h:outputText value="#{control.age}" > <f:convertNumber pattern="## ans" /> </h:outputText>

Le pattern ## indique que le nombre est sur deux chiffres. lien : Comment crer un converter personnalis ? lien : Comment crer un converter personnalis ? (Deuxime mthode) lien : Comment utiliser les validators standards ?

Comment utiliser le composant setPropertyActionListener ?


Auteurs : djo.mos , Le composant setPropertyActionListener du jeu de composants core permet d'affecter une valeur une cible avant l'excution d'une action donne. Il doit obligatoirement tre dfini comme fils d'un composant d'action (commandLink, commandButton). Les principaux attributs de ce composant sont: attribut target value type EL pointant vers un champ EL ou littral Signification Le champ cible ( qui la valeur sera affecte) La valeur affecter au champ cible

Exemple:
<h:commandLink action="#{bean.deleteSomething}"> <h:outputText value="#{something.name}" /> <f:setPropertyActionListener value="#{something}" target="#{bean.selectedSomething}" /> </h:commandLink>

A l'excution de l'action bean.deleteSomething, on est assur que la valeur de #{something} a t affecte au champ bean.selectedSomething. lien : Comment rcuprer la ligne active d'une dataTable ? (3 ime mthode)

- 22 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants visuels Comment crer un formulaire dans une page JSF ?
Auteurs : djo.mos , En utilisant le composant standard form du jeu de composants HTML. Les principaux attributs de ce composant sont: Attribut rendered Type EL ou boolen Signification Si oui ou non ce composant est inclus dans la page rsultante. L'identifiant du composant Le style CSS appliquer au texte affich. La classe CSS appliquer au texte affich.

id style styleClass

chane EL ou chane EL ou autre

Exemples:
<h:inputText value="un message" /> <h:inputText value="#{bean.champ}" /> <h:inputText value="#{bean.champ}" rendered="#{!bean.anonyme}" style="width: 80px; border: 0;" />

- 23 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants visuels > Les composants de sortie Comment afficher du texte dans une page JSF ?
Auteurs : djo.mos , En utilisant le composant standard outputText. Les principaux attributs de ce composant sont: Attribut value rendered Type EL ou autre EL ou boolen Signification Le texte afficher. Si oui ou non ce composant est inclus dans la page rsultante. L'identifiant du composant Le style CSS appliquer au texte affich. La classe CSS appliquer au texte affich.

id style styleClass

chane EL ou chane EL ou autre

Exemples:
<h:outputText value="un message" /> <h:outputText value="#{bean.champ}" /> <h:outputText value="texte: #{x}" />

lien : Comment afficher du texte format dans une page JSF ?

Comment afficher du texte format dans une page JSF ?


Auteurs : djo.mos , En utilisant le composant standard outputFormat qui est similaire outputText mais qui permet de simplifier le formatage du contenu. Les principaux attributs de ce composant sont: Attribut value EL ou autre Type Signification Le texte afficher. Il est possible d'utiliser les tokens de type {i} o i dans [0..n] pour indiquer que c'est l'emplacement d'un paramtre qui sera dfini plus tard. Si oui ou non ce composant est inclus dans la page rsultante. L'identifiant du composant Le style CSS appliquer au texte affich. La classe CSS appliquer au texte affich.

rendered

EL ou boolen

id style styleClass

chane EL ou chane EL ou autre

- 24 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Exemples:
<h:outputFormat value="nom: {0} ,age: {1}"> <f:param value="JSF" /> <f:param value="#{bean.person.age}" /> </h:outputFormat>

lien : Comment afficher du texte dans une page JSF ?

Comment crer un lien hypertexte dans une page JSF ?


Auteurs : djo.mos , En utilisant le composant standard outputLink du jeu de composants HTML. Les principaux attributs de ce composant sont: Attribut value EL ou autre Type Signification L'url de la page de destination

Il ne faut pas utiliser le nom rel de la page mais plutt appliquer le pattern attach la FacesServlet. Autrement, vous aurez l'exception "FacesContext not found" Exemples:
<h:outputLink value="unePage.jsf"> <h:outputText value="Go" /> </h:outputLink>

lien : Comment crer un lien de commande dans une page JSF ? lien : Que veut dire le message: Faces context not found ?

Comment afficher une image dans une page JSF ?


Auteurs : djo.mos , En utilisant le composant standard graphicImage du jeu de composants HTML. Les principaux attributs de ce composant sont: Attribut value url Exemples:
<h:graphicImage value="./images/jsf.jpg" />

Type EL ou autre EL ou autre

Signification L'url de l'image afficher alias value

- 25 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants visuels > Les composants de mise en page Comment aligner des composants en grille dans une page JSF ?
Auteurs : djo.mos , En utilisant le composant standard panelGrid du jeu de composants HTML. Combin avec le composant panelGroup, panelGrid permet de raliser des mises en page complexes. Les principaux attributs de ce composant sont: Attribut columns border Exemples:
<h:panelGrid border="1" columns="2"> <h:outputText value="item1"></h:outputText> <h:outputText value="item2"></h:outputText> <h:outputText value="item3"></h:outputText> <h:outputText value="item4"></h:outputText> </h:panelGrid>

Type EL ou chane numrique EL ou chane numrique

Signification Le nombre de colonnes de la grille. Largeur de la bordure

lien : Comment grouper des composants dans une page JSF ?

Comment grouper des composants dans une page JSF ?


Auteurs : djo.mos , En utilisant le composant standard panelGroup du jeu de composants HTML. Combin avec le composant panelGrid, panelGroup permet de raliser des mises en page complexes. Exemples:
<h:panelGroup> <h:outputText value="item1"></h:outputText> <h:outputText value="item2"></h:outputText> <h:outputText value="item3"></h:outputText> <h:outputText value="item4"></h:outputText> </h:panelGroup>

lien : Comment aligner des composants en grille dans une page JSF ?

- 26 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants visuels > Les composants de saisie Comment permettre la saisie d'un texte depuis une page JSF ?
Auteurs : djo.mos , En utilisant le composant standard inputText du jeu de composants HTML. Ce composant doit obligatoirement tre dans un composant form pour fonctionner correctement. Les principaux attributs de ce composant sont: Attribut value EL ou autre Type Signification Le texte afficher. Dans le cas gnral, on utilise une EL pointant vers un champ d'un managed bean. A l'affichage du composant, sa valeur sera celle du champ, et aprs soumission, la valeur du composant sera affecte au champ du bean. Si oui ou non ce composant est inclus dans la page rsultante. L'identifiant du composant Le style CSS appliquer au texte affich. La classe CSS appliquer au texte affich.

rendered

EL ou boolen

id style styleClass

chane EL ou chane EL ou autre

Exemples:
<h:inputText value="un message" /> <h:inputText value="#{bean.champ}" /> <h:inputText value="#{bean.champ}" rendered="#{!bean.anonyme}" style="width: 80px; border: 0;" />

lien : Comment permettre la saisie d'un mot de passe depuis une page JSF ? lien : Comment permettre la saisie d'un texte multi ligne depuis une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

Comment permettre la saisie d'un texte multi ligne depuis une page JSF ?
Auteurs : djo.mos , En utilisant le composant standard inputTextArea du jeu de composants HTML. Ce composant doit obligatoirement tre dans un composant form pour fonctionner correctement. Les principaux attributs de ce composant sont:

- 27 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Attribut value EL ou autre

Type

rendered

EL ou boolen

id style styleClass

chane EL ou chane EL ou autre

Signification Le texte afficher. Dans le cas gnral, on utilise une EL pointant vers un champ d'un managed bean. A l'affichage du composant, sa valeur sera celle du champ, et aprs soumission, la valeur du composant sera affecte au champ du bean. Si oui ou non ce composant est inclus dans la page rsultante. L'identifiant du composant Le style CSS appliquer au texte affich. La classe CSS appliquer au texte affich.

Exemples:
<h:inputTextarea value="un message" /> <h:inputTextarea value="#{bean.champ}" /> <h:inputTextarea value="#{bean.champ}" rendered="#{! bean.anonyme}" style="width: 80px; border: 0;" />

lien : Comment permettre la saisie d'un texte depuis une page JSF ? lien : Comment permettre la saisie d'un mot de passe depuis une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

Comment permettre la saisie d'un mot de passe depuis une page JSF ?
Auteurs : djo.mos , En utilisant le composant standard inputSecret du jeu de composants HTML. Ce composant doit obligatoirement tre dans un composant form pour fonctionner correctement. Les principaux attributs de ce composant sont: attribut value EL ou autre type Signification Le texte afficher. Dans le cas gnral, on utilise une EL pointant vers un champ d'un managed bean. A l'affichage du composant, sa valeur sera celle du champ, et aprs soumission, la valeur du

- 28 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

rendered

EL ou boolen

id style styleClass

chane EL ou chane EL ou autre

composant sera affecte au champ du bean. Si oui ou non ce composant est inclus dans la page rsultante. L'identifiant du composant Le style CSS appliquer au texte affich. La classe CSS appliquer au texte affich.

Exemples:

<h:inputSecret <h:inputSecret <h:inputSecret bean.anonyme}"

value="un message" /> value="#{bean.champ}" /> value="texte: #{bean.champ}" rendered="#{! style="width: 80px; border: 0;" />

lien : Comment permettre la saisie d'un texte depuis une page JSF ? lien : Comment permettre la saisie d'un texte multi ligne depuis une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

Comment utiliser une case cocher dans une page JSF ?


Auteurs : djo.mos , En utilisant le composants standard selectBooleanCheckbox du jeu de composants HTML.

selectBooleanCheckbox Ce composant doit obligatoirement tre dans un composant form pour qu'il fonctionne correctement. Les principaux attributs de ce composant sont: attribut value type EL ou boolen Signification Si oui ou non la case est coche. Dans le cas gnral, on utilise une EL pointant vers un champ de type boolen d'un managed bean. A l'affichage du composant, sa valeur sera celle du champ, et aprs soumission,

- 29 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

rendered

EL ou boolen

id style styleClass

chane EL ou chane EL ou autre

la valeur du composant sera affecte au champ du bean. Si oui ou non ce composant est inclus dans la page rsultante. L'identifiant du composant Le style CSS appliquer au texte affich. La classe CSS appliquer au texte affich.

Exemples:

<h:selectBooleanCheckbox value="true" /> <h:selectBooleanCheckbox value="#{bean.champ}" /> <h:selectBooleanCheckbox value="#{bean.champ}" rendered="#{! bean.afficher}" style="width: 10px; border: 1px;" />

lien : Comment utiliser les boutons Radio dans une page JSF ? lien : Comment utiliser les listes droulantes dans une page JSF ? lien : Comment utiliser les listes choix unique dans une page JSF ? lien : Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ? lien : Comment utiliser plusieurs case cocher dans une page JSF ? lien : Comment utiliser une liste choix multiples dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

- 30 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants visuels > Les composants d'action Comment crer un bouton de commande dans une page JSF ?
Auteurs : djo.mos , Un bouton de commande est un bouton qui effectue la soumission de son formulaire et invoque un traitement java ct serveur. Pour le crer, on utilise le composant standard commandButton du jeu de composants HTML. Ce composant doit obligatoirement tre dans un composant form pour fonctionner correctement. Les principaux attributs de ce composant sont: attribut value action type EL ou chane EL ou chane Signification Texte du bouton Soit l'EL d'une action d'un managed bean qui sera excute suite un clic sur ce bouton, soit l'outcome utiliser pour choisir la page suivante afficher selon les rgles de navigation.

Exemples:
<h:commandButton value="ok" action="#{bean.action}" /> <h:commandButton value="ok" action="gotoPage2" />

lien : Comment invoquer un traitement Java depuis une page JSF ? lien : Comment crer un lien de commande dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

Comment crer un lien de commande dans une page JSF ?


Auteurs : djo.mos , Un lien de commande est un lien hypertexte qui effectue la soumission de son formulaire et invoque un traitement java ct serveur. Pour le crer, on utilise le composant standard commandLink du jeu de composants HTML. Ce composant doit obligatoirement tre dans un composant form pour fonctionner correctement. Les principaux attributs de ce composant sont: attribut value action type EL ou chane EL ou chane Signification Texte du lien Soit l'EL d'une action d'un managed bean qui sera excute suite un clic sur ce

- 31 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

lien, soit l'outcome utiliser pour choisir la page suivante afficher selon les rgles de navigation. Exemples:
<h:commandLink value="ok" action="#{bean.action}" /> <h:commandLink value="ok" action="gotoPage2" />

lien : Comment invoquer un traitement Java depuis une page JSF ? lien : Comment crer un bouton de commande dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

- 32 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants visuels > Les composants de slection

- 33 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants visuels > Les composants de slection > slection unique Comment utiliser les boutons Radio dans une page JSF ?
Auteurs : djo.mos , En utilisant le composants standard selectOneRadio du jeu de composants HTML.

selectOneRadio Pour spcifier les diverses options, il faut ajouter des selectItem et selectItems comme composants fils. Ce composant doit obligatoirement tre dans un composant form pour qu'il fonctionne correctement. Les principaux attributs de ce composant sont: attribut value EL type Signification EL vers un champ d'un managed bean o sera stock le choix de l'utilisateur aprs soumission. lineDirection pour afficher les cases cocher dans une seule ligne, pageDirection pour les afficher verticalement.

layout

lineDirection ou pageDirection

Exemples:
<h:selectOneRadio layout="lineDirection"> <f:selectItem itemLabel="choix" itemValue="#{bean.choix}" /> <f:selectItem itemLabel="autre choix" itemValue="false" /> <f:selectItems value="#{bean.options}"/> </h:selectOneRadio>

lien : Comment utiliser une case cocher dans une page JSF ? lien : Comment utiliser les listes droulantes dans une page JSF ? lien : Comment utiliser les listes choix unique dans une page JSF ? lien : Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ? lien : Comment utiliser plusieurs case cocher dans une page JSF ? lien : Comment utiliser une liste choix multiples dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

Comment utiliser les listes droulantes dans une page JSF ?


Auteurs : djo.mos , En utilisant le composants standard selectOneMenu du jeu de composants HTML.

- 34 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

selectOneMenu Pour spcifier les diverses options, il faut ajouter des selectItem et selectItems comme composants fils. Ce composant doit obligatoirement tre dans un composant form pour qu'il fonctionne correctement. Les principaux attributs de ce composant sont: attribut value type EL ou chane Signification Gnralement, on utilise une EL qui pointe vers un champ d'un managedBean o stocker le choix de l'utilisateur aprs soumission

Exemples:
<h:selectOneMenu layout="lineDirection"> <f:selectItem itemLabel="choix" itemValue="#{bean.choix}" /> <f:selectItem itemLabel="autre choix" itemValue="false" /> <f:selectItems value="#{bean.options}"/> </h:selectOneMenu>

lien : Comment utiliser les boutons Radio dans une page JSF ? lien : Comment utiliser une case cocher dans une page JSF ? lien : Comment utiliser les listes choix unique dans une page JSF ? lien : Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ? lien : Comment utiliser plusieurs case cocher dans une page JSF ? lien : Comment utiliser une liste choix multiples dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

Comment utiliser les listes choix unique dans une page JSF ?
Auteurs : djo.mos , En utilisant le composants standard selectOneListbox du jeu de composants HTML.

- 35 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

selectOneListbox Pour spcifier les diverses options, il faut ajouter des selectItem et selectItems comme composants fils. Ce composant doit obligatoirement tre dans un composant form pour qu'il fonctionne correctement. Les principaux attributs de ce composant sont: attribut value type EL ou chane Signification Gnralement, on utilise une EL qui pointe vers un champ d'un managedBean o stocker le choix de l'utilisateur aprs soumission

Exemples:
<h:selectOneListbox value="#{bean.choix}" layout="lineDirection"> <f:selectItem itemLabel="choix" itemValue="#{bean.option}" /> <f:selectItem itemLabel="autre choix" itemValue="false" /> <f:selectItems value="#{bean.options}"/> </h:selectOneListbox>

lien : Comment utiliser les boutons Radio dans une page JSF ? lien : Comment utiliser les listes droulantes dans une page JSF ? lien : Comment utiliser une case cocher dans une page JSF ? lien : Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ? lien : Comment utiliser plusieurs case cocher dans une page JSF ? lien : Comment utiliser une liste choix multiples dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

- 36 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Utilisations des composants standard > Les composants visuels > Les composants de slection > slection multiple Comment utiliser plusieurs case cocher dans une page JSF ?
Auteurs : djo.mos , En utilisant le composants standard selectManyCheckbox du jeu de composants HTML.

selectManyCheckbox Pour spcifier les diverses options, il faut ajouter des selectItem et selectItems comme composants fils. Ce composant doit obligatoirement tre dans un composant form pour qu'il fonctionne correctement. Les principaux attributs de ce composant sont: attribut value EL type Signification une EL pointant vers une liste ou tableau d'objets o seront stocks les choix de l'utilisateur aprs soumission. lineDirection pour afficher les cases cocher dans une seule ligne, pageDirection pour les afficher verticalement.

layout

lineDirection ou pageDirection

Exemples:
<h:selectManyCheckbox value="#{bean.choix}" layout="lineDirection"> <f:selectItem itemLabel="choix" itemValue="#{bean.option}" /> <f:selectItem itemLabel="autre choix" itemValue="false" /> <f:selectItems value="#{bean.options}"/> </h:selectManyCheckbox>

lien : Comment utiliser les boutons Radio dans une page JSF ? lien : Comment utiliser les listes droulantes dans une page JSF ? lien : Comment utiliser une case cocher dans une page JSF ? lien : Comment utiliser les listes choix unique dans une page JSF ? lien : Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ? lien : Comment utiliser une liste choix multiples dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

Comment utiliser une liste choix multiples dans une page JSF ?
Auteurs : djo.mos , En utilisant le composants standard selectManyListbox du jeu de composants HTML.

- 37 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

selectManyListbox Pour spcifier les diverses options, il faut ajouter des selectItem et selectItems comme composants fils. Ce composant doit obligatoirement tre dans un composant form pour qu'il fonctionne correctement. Les principaux attributs de ce composant sont: attribut value EL type Signification une EL pointant vers une liste ou tableau d'objets o seront stocks les choix de l'utilisateur aprs soumission.

Exemples:
<h:selectManyListbox value="#{bean.choix}"> <f:selectItem itemLabel="choix" itemValue="#{bean.option}" /> <f:selectItem itemLabel="autre choix" itemValue="false" /> <f:selectItems value="#{bean.options}"/> </h:selectManyListbox>

lien : Comment utiliser les boutons Radio dans une page JSF ? lien : Comment utiliser les listes droulantes dans une page JSF ? lien : Comment utiliser une case cocher dans une page JSF ? lien : Comment utiliser les listes choix unique dans une page JSF ? lien : Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ? lien : Comment utiliser plusieurs case cocher dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

Comment utiliser une liste choix multiples avec une seul visible dans une page JSF ?
Auteurs : djo.mos , En utilisant le composants standard selectManyMenu du jeu de composants HTML.

selectManyMenu Pour spcifier les diverses options, il faut ajouter des selectItem et selectItems comme composants fils.

- 38 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Ce composant doit obligatoirement tre dans un composant form pour qu'il fonctionne correctement. Les principaux attributs de ce composant sont: attribut value EL type Signification une EL pointant vers une liste ou tableau d'objets o seront stocks les choix de l'utilisateur aprs soumission.

Exemples:
<h:selectManyMenu value="#{bean.choix}" layout="lineDirection"> <f:selectItem itemLabel="choix" itemValue="#{bean.option}" /> <f:selectItem itemLabel="autre choix" itemValue="false" /> <f:selectItems value="#{bean.options}"/> </h:selectManyMenu>

lien : Comment utiliser les boutons Radio dans une page JSF ? lien : Comment utiliser les listes droulantes dans une page JSF ? lien : Comment utiliser une case cocher dans une page JSF ? lien : Comment utiliser les listes choix unique dans une page JSF ? lien : Comment utiliser plusieurs case cocher dans une page JSF ? lien : Comment utiliser une liste choix multiples dans une page JSF ? lien : Comment crer un formulaire dans une page JSF ?

- 39 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Extension Comment crer un validator personnalis ?


Auteurs : djo.mos , La cration d'un validator personnalis passe par les tapes suivantes: Crer une classe qui implmente l'interface javax.faces.validator.Validator . Dclarer cette classe dans faces-config.xml en lui associant un identifiant.

Par exemple, on souhaite saisir le nom, le prnom et l'age d'une personne dans un seul champ texte avec le format "prnom nom age", et on va crer un validator qui valide une saisie:
public class PersonValidator implements Validator { private Pattern p = Pattern.compile("[a-zA-Z]+\\s+[a-zA-Z]+\\s+[0-9]+"); public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { Matcher m = p.matcher((String) value); if (!m.matches()) throw new ValidatorException(new FacesMessage( FacesMessage.SEVERITY_ERROR, "Entre non valide", "Entre non valide")); } }

Il faut ensuite dclarer ce validator dans faces-config.xml:


<validator> <validator-id>personValidator</validator-id> <validator-class>validators.PersonValidator</validator-class> </validator>

Et enfin, pour utiliser le validator dans les pages JSF, on procde comme suit:
<h:inputText value="#{control.name}" id="name"> <f:validator validatorId="personValidator" /> </h:inputText>

chaque fois qu'on remplit un champ texte et qu'on valide, JSF va invoquer la mthode validate de notre Validator en lui passant les paramtres suivants: context: permet d'accder l'environnement JSF. component: le composant parent de notre validator. value: la valeur saisie par l'utilisateur.

Si l'entre n'est pas valide, il faut lancer une exception du type ValidatorException qui prend un message comme paramtre. Un message est compos de: gravit: l'une des valeurs suivantes: SEVERITY_FATAL, SEVERITY_ERROR, SEVERITY_WARN et SEVERITY_INFO. sommaire: version courte du message d'erreur.

- 40 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

detail: version dtaille du message d'erreur.

lien : Comment utiliser les validators standards ? lien : Comment crer un validator personnalis ? (Deuxime mthode)

Comment crer un validator personnalis ? (Deuxime mthode)


Auteurs : djo.mos , JSF offre une mthode plus simple pour crer des validators personnaliss et ce en acceptant une mthode de validation dans un managed bean. Par exemple, si on veut refaire le validator prsent dans la question prcdente, il suffit de dclarer la mthode validate (avec la mme signature) dans son managed bean au lieu d'une classe spare:
public void validatePerson(FacesContext context, UIComponent component, Object value) throws ValidatorException { Pattern p = Pattern.compile("[a-zA-Z]+\\s+[a-zA-Z]+\\s+[0-9]+"); Matcher m = p.matcher((String) value); if (!m.matches()) throw new ValidatorException(new FacesMessage( FacesMessage.SEVERITY_ERROR, "Entre non valide", "Entre non valide")); }

Plus besoin alors de dclarer le validator dans faces-config.xml. Pour utiliser ce validator dans les pages JSF, on passe le nom de la mthode de validation comme valeur de l'attribut validator du composant valider:
<h:inputText value="#{control.name}" id="name" validator="#{control.validatePerson}" />

lien : Comment utiliser les validators standards ? lien : Comment crer un validator personnalis ?

Comment crer un converter personnalis ?


Auteurs : Sniper37 , djo.mos , La cration d'un converter personnalis passe par les tapes suivantes: Crer une classe qui implmente l'interface javax.faces.convert.Converter . Dclarer cette classe dans faces-config.xml en lui associant un identifiant.

Par exemple, on souhaite afficher une classe Person contenant 3 champs (firstName, lastName et age) via un seul appel au composant <h:outpoutText />, avec le format "prnom nom age", on cre un converter:
public class PersonConverter implements Converter { public Object getAsObject(FacesContext context, UIComponent component, String value) { return null; } public String getAsString(FacesContext context, UIComponent component, Object value) { Person person = (Person) value;

- 41 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

return person.getFirstName() + " " + person.getLastName() + " " + person.getAge(); } }

Notez que dans ce cas prcis de figure, on s'est content d'implmenter la mthode getAsString vu qu'on souhaite seulement afficher une personne. Si on souhaite transformer la valeur d'un champ texte en une instance de Person, il faut alors implmenter la mthode getAsObject qui effectue le traitement inverse. Il faut ensuite dclarer ce converter dans faces-config.xml en lui associant un identifiant:
<converter> <converter-id>personConverter</converter-id> <converter-class>converters.PersonConverter</converter-class> </converter>

Et enfin, pour utiliser le validator dans les pages JSF, on procde comme suit:
<h:outputText value="#{control.person}"> <f:converter converterId="personConverter" /> </h:outputText>

Alternativement, on peut spcifier lors de la dfinition d'un converter dans faces-config.xml quel type ce converter s'applique. Dans ce cas, plus besoin d'indiquer explicitement le converter utiliser dans un composant: JSF invoquera automatiquement le conveter adapt: Dan faces-config.xml:
<converter> <converter-for-class>model.Person</converter-for-class> <converter-class>converters.PersonConverter</converter-class> </converter>

Et dans la page:
<h:outputText value="#{control.person}">

chaque fois qu'on essaie d'afficher une instance de Person, JSF va invoquer la mthode getAsString de notre Validator en lui passant les paramtres suivants: context: permet d'accder l'environnement JSF. component: le composant parent de notre validator. value: l'instance de Person afficher.

lien : Comment utiliser les converters standards ? lien : Comment crer un converter personnalis ? (Deuxime mthode)

Comment crer un converter personnalis ? (Deuxime mthode)


Auteurs : djo.mos , Il est possible de spcifier le converter utiliser dans un composant en utilisant l'attribut converter qui doit pointer vers une instance implmentant javax.faces.convert.Converter .

- 42 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

<h:outputText value="#{control.person}" converter="#{control.personConverter}">

L'avantage avec cette mthode est que le converter utilis peut tre modifi dynamiquement.

lien : Comment utiliser les converters standards ? lien : Comment crer un converter personnalis ?

- 43 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Quelques erreurs frquentes Pourquoi mes dates, rcupres depuis ma base de donnes, sont-elles affiches avec un jour de moins sur ma page JSF ?
Auteurs : romaintaz , Explication: Lorsque l'on stocke une date dans la base de donnes (supposons le 07/02/2008), il est effectivement possible que l'heure stocke soit par dfaut 00h00 si celle-ci n'est pas prcise. Lors de l'affichage, le calendrier fait la "conversion" avec les fuseaux horaires pour correspondre l'affichage du client. Selon la configuration de ce dernier, il est possible que la conversion entrane une soustraction d'heures, et donc fait passer la date la veille. Solution: Il suffit de forcer l'utilisation d'une Timezone grce au composant <f:convertTimeDate> :
<h:outputText value="#{monBean.maDate}"> <f:convertDateTime pattern="dd/MM/yyyy" timeZone="Europe/Paris"/> </h:outputText>

Ou mieux encore, en passant par un fichier .properties pour avoir un affichage localis:
<h:outputText value="#{monBean.maDate}"> <f:convertDateTime pattern="#{prop.dateformat}" timeZone="#{prop.timezone}"/> </h:outputText>

lien : Comment utiliser les converters standards ?

Que veut dire le message: Faces context not found ?


Auteurs : djo.mos , Lorsque vous recevez ce message, c'est que vous essayez d'accder une page JSF (contenant des composants JSF) en utilisant le nom rel du fichier et non pas en appliquant le pattern associ la FacesServlet. Par exemple, si vous avez configur le pattern de la FacesServlet comme ceci (dans web.xml):
<servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping>

Et que vous essayez d'accder une page JSF situe dans un fichier nomm page.jsp par l'url page.jsp, alors une exception FacesContext not found sera leve. Il faut plutt accder la page en utilisant le suffixe jsf, c'est dire avec page.jsf. lien : Comment configurer la Faces servlet dans le fichier web.xml ?

Que veut dire le message: Value is not valid ?


Auteurs : fabszn , Que veut dire le message :

- 44 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

com.sun.faces.context.FacesContextImpl addMessage Adding Message[sourceId=xxxxx:xxxxx,summary=Erreur de validation: Valeur not valid.)

Ainsi que les variantes suivantes :

..... summary=Validation Error: Value is not valid

Ce message indique que l'attribut correspondant, au niveau du managedBean, n'a pas le type attendu. Par exemple, si la liste des ids pour un composant selectOneMenu est construite partir BigDecimal et que le champ permettant de rceptionner la valeur slectionne est de type Integer ce type d'erreur remontera (sans plus d'explication). lien : Comment utiliser les validators standards ? lien : Comment afficher les messages d'erreurs gnrs par les validators ?

- 45 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Sommaire > Trucs et Astuces Comment invalider la session/implmenter la fonctionnalit "Logout" ?


Auteurs : Sniper37 , Il suffit d'invoquer ce traitement depuis une action dans un managed bean :
((HttpSession) FacesContext.getCurrentInstance().getExternalContext() .getSession(true)).invalidate();

Cette action peut tre invoque depuis un commandButton ou un commandLink. lien : Comment invoquer un traitement Java depuis une page JSF ?

Comment modifier les messages d'erreurs par dfaut des validators JSF ?
Auteurs : fabszn , Consultez le fichier message.properties contenu dans l'archive jar de l'implmentation JSF utilise. Rcuprez les clefs des messages que vous voulez modifier et reportez les dans votre propre fichier de bundle. Ensuite dclarez ce fichier de bundle dans le fichier de configuration faces-config.xml :
<message-bundle> mon.package.vers.mon.fichier.bundle</message-bundle>

Le fichier mon.package.vers.mon.fichier.bundle l'extension .properties

ne

doit

pas

tre

suffix

par

lien : Comment afficher les messages d'erreurs gnrs par les validators ?

Comment rcuprer par programmation la valeur d'un managed bean ?


Auteurs : Sniper37 , Mthode 1: utilisation de JSF value binding:
FacesContext context = FacesContext.getCurrentInstance() .getCurrentInstance(); SessionBean = (SessionBean) context.getApplication() .createValueBinding("#{sessionBean}").getValue(context);

Mthode 2: accder directement la session l'aide de ExternalContext:


Bean = (Bean)FacesContext.getCurrentInstance().getCurrentInstance() .getExternalContext().getSessionMap().get("bean");

Mthode 3: Utilisation de JSF Value Expression:


FacesContext context = FacesContext.getCurrentInstance(); ManagedBean bean = (ManagedBean) context.getApplication() .getExpressionFactory().createValueExpression( context.getELContext(), "#{managedBean}",

- 46 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

ManagedBean.class).getValue(context.getELContext());

lien : Comment rcuprer un composant d'une page JSF depuis le code Java ?

Comment rcuprer un composant d'une page JSF depuis le code Java ?


Auteurs : romaintaz , Avec le code suivant:
UIComponent monComponent = (UIComponent) FacesContext .getCurrentInstance().getViewRoot().findComponent( "idDuComposant");

A noter que l'identifiant du composant doit tre son identifiant complet, c'est--dire prfix par les identifiants de tous les composants implmentant l'interface NamingContainer et spars par des ":". Par exemple, dans le code suivant :
<h:form id="monFormulaire" ...> <h:inputText id="monInput" ...> ...

Alors l'identifiant complet de l'inputText sera "monFormulaire:monInput". lien : Comment rcuprer par programmation la valeur d'un managed bean ?

Comment rcuprer la ligne active d'une dataTable ?


Auteurs : djo.mos , Il est parfois pratique d'ajouter sur chaque ligne d'une DataTable un lien cliquable (commandLink) ou un bouton (commandButton) qui permet de raliser une action sur l'lment affich sur cette ligne. Pour pouvoir rcuprer ensuite l'lment actif dans l'action dclenche, il faut attacher l'attribut value du composant dataTable un javax.faces.model.DataModel au lieu de l'attacher directement une liste. Voici la dclaration d'un DataModel dans un managedBean:
private DataModel dataModel = new ListDataModel();

DataModel est une interface tout comme List tandis que ListDataModel est une implmentation tout comme ArrayList. Il faut ensuite pointer vers dataModel comme value d'une dataTable:
<h:dataTable value="#{monBean.dataModel}" var="x" > : : </h:dataTable>

Ensuite, suite un clic sur un commandLink ou un commandButton sur une ligne, et dans l'action appele, il suffit de faire :

- 47 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Object o = dataModel.getRowData();

pour rcuprer l'objet reprsent par la ligne active. Il faut ensuite le caster vers son type d'origine. Pour alimenter un DataModel avec une liste (List), on procde comme suit:

dataModel.setWrappedData(uneListeQuelquonque);

lien : Comment rcuprer la ligne active d'une dataTable ? (2 ime mthode) lien : Comment rcuprer la ligne active d'une dataTable ? (3 ime mthode)

Comment rcuprer la ligne active d'une dataTable ? (2 ime mthode)


Auteurs : romaintaz , Il est parfois pratique d'ajouter sur chaque ligne d'une DataTable un lien cliquable (commandLink) ou un bouton (commandButton) qui permet de raliser une action sur l'lment affich sur cette ligne. JSF propose des mthodes pour rcuprer directement l'objet Java se trouvant sur la ligne contenant le lien sur lequel l'utilisateur a ralis le clic : Le composant Datatable (ou tout composant tendant UIData) de JSF propose en effet les mthodes getRowData() et getRowIndex() qui retournent respectivement l'objet et son index correspondants la ligne du tableau sur laquelle l'utilisateur a cliqu sur un lien. On pourra alors crire dans son bean (selectionneElement est l'actionListener du lien cliquable affich sur une ligne du tableau) :
public void selectionneElement(ActionEvent evt) { // On rcupre la datatable. HtmlDataTable table = getParentDatatable((UIComponent) evt.getSource()); // On rcupre l'objet affich la bonne ligne de la datatable. Object o = table.getRowData(); // On rcupre aussi son index int index = table.getRowIndex(); // Suite du traitement sur l'objet slectionn. } private HtmlDataTable getParentDatatable(UIComponent compo) { if (compo == null) { return null; } if (compo instanceof HtmlDataTable) { return (HtmlDataTable) compo; } return getParentDataTable(compo.getParent()); }

lien : Comment rcuprer la ligne active d'une dataTable ?

- 48 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

lien : Comment rcuprer la ligne active d'une dataTable ? (3 ime mthode)

Comment rcuprer la ligne active d'une dataTable ? (3 ime mthode)


Auteurs : djo.mos , Il est parfois pratique d'ajouter sur chaque ligne d'une DataTable un lien cliquable (commandLink) ou un bouton (commandButton) qui permet de raliser une action sur l'lment affich sur cette ligne. Pour pouvoir rcuprer ensuite l'lment actif dans l'action dclenche, il faut ajouter le composant setPropertyActionListener comme fils du composant qui dclenche l'action. Exemple: On dclare un champ qui servira rcuprer l'objet de la ligne slectionne (du type fictif Car):
private Car selectedCar

Il faut ensuite pointer vers dataModel comme value d'une dataTable:


<h:dataTable value="#{monBean.cars}" var="c" > <h:column> <h:commandButton value="supprimer" action="#{monBean.delete}"> <f:setPropertyActionListener value="#{c}" target="#{monBean.selectedCar}" /> </h:commandButton> <h:column> </h:dataTable>

Ensuite, suite un clic sur le commandButton d'une ligne, et dans l'action appele, on est assur que le champ selectedCar contient l'objet de type Car correspondant la ligne contenant le bouton qui a declench le clic. lien : Comment rcuprer la ligne active d'une dataTable ? lien : Comment rcuprer la ligne active d'une dataTable ? (2 ime mthode) lien : Comment utiliser le composant setPropertyActionListener ?

Comment permettre/empcher l'chappement des caractres sensibles avec <h:outputText> ?


Auteurs : djo.mos , En utilisant l'attribut escape du composant <h:outputText>. Ainsi, l'exemple suivant affiche une ligne horizontale:
<h:outputText value="<hr>" escape="false" />

Tandis que l'exemple suivant affiche le texte <hr>


<h:outputText value="<hr>" escape="true" />

- 49 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

Le deuxime comportement est le comportement par dfaut (escape=true).

lien : Comment afficher du texte dans une page JSF ?

Comment executer une requete sans passer par les phases validation et conversion ?
Auteurs : Sniper37 , En mettant l'attribut immediate de l'lment qui dclenche l'action (commandButton, commandLink) true.
<h:commandButton action="#{monManagedBean.monAction}" immediate="true" />

lien : A quoi sert l'attribut immdiate ?

Comment journaliser les phases de l'application JSF ?


Auteurs : Sniper37 , djo.mos , Il faut crer un PhaseListener qui implmente l'interface javax.faces.event.PhaseListener :
public class LogPhaseListener implements javax.faces.event.PhaseListener { private static final long serialVersionUID = -4395863677889457550L; private static final org.apache.log4j.Logger log = org.apache.log4j.Logger .getLogger(LogPhaseListener.class); public void afterPhase(javax.faces.event.PhaseEvent e) { log.debug("afterPhase " + e.getPhaseId()); } public void beforePhase(javax.faces.event.PhaseEvent e) { log.debug("beforePhase " + e.getPhaseId()); } public javax.faces.event.PhaseId getPhaseId() { return javax.faces.event.PhaseId.ANY_PHASE; } }

Il faut ensuite le dclarer dans faces-config.xml:


<lifecycle> <phase-listener>package.LogPhaseListener</phase-listener> </lifecycle>

Ainsi, l'affichage d'une page JSF, on peut voir ceci:

DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG

(LogPhaseListener.java:17) (LogPhaseListener.java:13) (LogPhaseListener.java:17) (LogPhaseListener.java:13) (LogPhaseListener.java:17) (LogPhaseListener.java:13) (LogPhaseListener.java:17) (LogPhaseListener.java:13) (LogPhaseListener.java:17) (LogPhaseListener.java:13) (LogPhaseListener.java:17) (LogPhaseListener.java:13)

beforePhase RESTORE_VIEW 1 afterPhase RESTORE_VIEW 1 beforePhase APPLY_REQUEST_VALUES 2 afterPhase APPLY_REQUEST_VALUES 2 beforePhase PROCESS_VALIDATIONS 3 afterPhase PROCESS_VALIDATIONS 3 beforePhase UPDATE_MODEL_VALUES 4 afterPhase UPDATE_MODEL_VALUES 4 beforePhase INVOKE_APPLICATION 5 afterPhase INVOKE_APPLICATION 5 beforePhase RESTORE_VIEW 1 afterPhase RESTORE_VIEW 1

- 50 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/

FAQ JSF

DEBUG (LogPhaseListener.java:17) - beforePhase RENDER_RESPONSE 6 DEBUG (LogPhaseListener.java:13) - afterPhase RENDER_RESPONSE 6

- 51 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2008 - 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://javaweb.developpez.com/faq/jsf/