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.
- Comment configurer la Faces servlet dans le fichier web.xml ?
- Quelle est la structure du fichier faces-config.xml ?
- Comment changer le nom ou l'emplacement du fichier faces-config.xml ?
- Comment avoir plusieurs fichiers de config dans la même application ?
- Comment utiliser une page JSF en tant que page d'accueil ?
- Comment utiliser une page JSF en tant que page d'accueil (deuxième méthode) ?
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> |
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> |
La Faces Servlet nécessite un fichier de configuration nommé généralement faces-config.xml.
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> |
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> |
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> |
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> |
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> |
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> |
Code xml : | Sélectionner tout |
<jsp:forward page="pageDémarrage.jsf" />
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> |
Mais aussi créer un fichier « accueil.faces » (même vide) dans la racine du dossier web.
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 çaLes 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 © 2024 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.