FAQ JSFConsultez toutes les FAQ

Nombre d'auteurs : 8, nombre de questions : 70, dernière mise à jour : 10 juin 2008  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience 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 prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.


SommaireConfiguration de l'application Web (6)
précédent sommaire suivant
 

Il faut ajouter l'élément suivant dans le fichier web.xml :

Code xml : Sélectionner tout
1
2
3
4
5
<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, indépendamment de l'implémentation choisie.
Avec :

  • <servlet-name> définit l'alias dont vous devez vous servir dans le reste du descripteur de déploiement web.xml ;
  • <servlet-class> définit le nom entièrement 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 élevée.

Pour définir quelles sont les requêtes que la servlet FacesServlet doit intercepter, il faut configurer le mapping de celle-ci :

Code xml : Sélectionner tout
1
2
3
4
<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 nécessite un fichier de configuration nommé généralement faces-config.xml.

Mis à jour le 12 février 2008 djo.mos

Pour JSF 1.0 :

Code xml : Sélectionner tout
1
2
3
4
5
6
<?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 :

Code xml : Sélectionner tout
1
2
3
4
5
6
7
8
<?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> 
  
</faces-config>
Pour JSF 1.2 :

Code xml : Sélectionner tout
1
2
3
4
5
6
7
8
<?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/web-facesconfig_1_2.xsd" 
    version="1.2"> 
  
</faces-config>

Mis à jour le 12 février 2008 djo.mos

Le nom et l'emplacement du fichier de configuration de JSF faces-config.xml sont spécifiés par un paramètre 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 déclaration sans section <context-param> (valeur par défaut) :

Code xml : Sélectionner tout
1
2
3
4
<context-param> 
    <param-name>javax.faces.CONFIG_FILES</param-name> 
    <param-value>/WEB-INF/faces-config.xml</param-value> 
</context-param>

Mis à jour le 12 février 2008 djo.mos

Il faut ajouter dans le web.xml :

Code xml : Sélectionner tout
1
2
3
4
<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>

Mis à jour le 12 février 2008 Sniper37

Première méthode : via redirection.
Pour utiliser une page JSF comme page d'accueil, il faut passer par une page jsp intermédiaire que l'on déclare dans la liste des welcome-file-list et qui redirige vers la page JSF.

Par exemple, si on veut que la page pageDémarrage.jsp qui est une page JSF (contenant des composants JSF) soit la page d'accueil, il faut :

Dans web.xml :

Code xml : Sélectionner tout
1
2
3
<welcome-file-list> 
  <welcome-file>index.jsp</welcome-file> 
</welcome-file-list>
Dans index.jsp :

Code xml : Sélectionner tout
<jsp:forward page="pageDémarrage.jsf" />
Si vous utilisez *.jsf comme pattern de la Faces Servlet.

Mis à jour le 12 février 2008 djo.mos

Il faut créer un fichier (qui peut être vide) en plus de la page d'accueil JSF et qui porte le même nom, mais avec l'extension attachée à la FacesServlet.
Par exemple, pour utiliser accueil.faces comme page d'accueil, il faut :

Dans web.xml :

Code xml : Sélectionner tout
1
2
3
<welcome-file-list> 
  <welcome-file>accueil.faces</welcome-file> 
</welcome-file-list>
Créer comme d'habitude la page JSF (accueil.jsp, accueil.xhtml, accueil.jspx).

Mais aussi créer un fichier « accueil.faces » (même vide) dans la racine du dossier web.

Mis à jour le 10 juin 2008 davdou

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même 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'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsables bénévoles de la rubrique Java Web : Mickael Baron - Robin56 -