Lors de la création de fichiers de configuration de plusieurs faces, il est correct d'avoir les faces-config.xml en dehors de web-inf? La spécification JSF ne semble pas être très claire à ce sujet (section 10.1.3)
Si oui, comment cela doit-il être déclaré à la configuration-config.xml dans Web.xml? Les chemins générés par IDE's (comme Eclipse / JDev) utilisent généralement quelque chose comme: p> maintenant, si mon visage-config.xml est en dehors de Web-INF - est-ce correct Pour déclarer la valeur de paramètre comme quelque chose comme "/webcontent/web-inf/faces-config2.xml"? p> p>
3 Réponses :
C'est possible, mais pas recommandé. La raison pour laquelle vous mettez des fichiers de configuration sous Web-Inf est que le serveur sait de ne pas servir ces fichiers - vous avez votre code, votre configuration de la base de données et d'autres éléments sensibles. P>
Vous ne pouvez pas utiliser "/webcontent/web-inf/faces-config2.xml" - Afaik "Webcontent" Eclipse spécifique. avoir les noms de fichiers de configuration pour être absolus à l'intérieur de la guerre. Cela signifie qu'ils vont toujours commencer par "/ web-inf /". p>
Si vous les référencez à partir du web.xml, le fichier doit alors être dans la guerre au moment de l'exécution. Il existe d'autres façons que le conteneur puisse découvrir des ressources faces-config.xml. P>
recherche de toutes les ressources nommées "méta-inf / faces-config.xml" dans le
Chemins de ressources servleContext pour cette application Web et chargez chacun en tant que JSF.
ressource de configuration (dans l'ordre inverse de l'ordre dans lequel ils sont renvoyés par
getResources () sur le contexte de contexte du thread actuel). P> li>
Vérifiez l'existence d'un paramètre d'initialisation de contexte nommé
javax.faces.config_files. S'il existe, traitez-le comme une liste délimitée par des virgules de
contexte des chemins de ressources relatives (commençant par un "/") et charger chacun des spécifiés
Ressources. P> LI>
Vérifiez l'existence d'une ressource de configuration d'application Web nommée "/ webinf /
faces-config.xml "et chargez-le si la ressource existe. p> li>
ul>
Comme mentionné dans la réponse de David, il n'est pas recommandé de mettre les fichiers de configuration en dehors du répertoire Web-INF. Toutefois, si vous cherchez des moyens d'organiser votre projet, vous pouvez essayer de créer un nouveau sous-répertoire sous em> web-inf. P>
Par exemple, lorsque je traite de nombreux fichiers de configuration faces, je vais créer un répertoire / web-inf / config code> et mettre les fichiers de configuration faces-configs là-bas. p>