Question

J'ai une application simple de JSF2 utilisant Facelets. Mon web.xml est défini comme suit: -

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping> 

Je veux mettre l'application par défaut à la page d'accueil qui est /pages/login.xhtml. Je ne peux pas sembler obtenir le réglage fichier de bienvenue pour ramasser quand aller à la racine du contexte dans le navigateur.

Mon web.xml cadre de bienvenue est la suivante: -

<welcome-file-list>
<welcome-file>/pages/login.jsf</welcome-file>
</welcome-file-list>

Comment forcer l'accueil page à goto la page de connexion et assurer qu'elle passe par le servlet visages?

Si j'utilise ce qui suit la page affiche mais il n'a pas passé par la servlet faces et les visages si les composants ne sont pas rendus: -

<welcome-file-list>
<welcome-file>pages/login.xhtml</welcome-file>
</welcome-file-list>

Toute aide appréciée!

Était-ce utile?

La solution

Vous devez créer un fichier login.jsf vide, à côté de votre fichier login.xhtml. Pour une raison quelconque ce hack est nécessaire pour duper le conteneur de servlet dans la pensée de votre fichier de bienvenue existe.

Note:. La réponse sera toujours servi la réponse de JSF en utilisant votre fichier login.xhtml, pas le fichier login.jsf vide vous créez

Autres conseils

Informations complémentaires à la solution originale.

Ceci est seulement un besoin de compatibilité ascendante pour les conteneurs de servlets avant la version 3. Une fois en cours d'exécution sous Glassfish 3.1 ou Tomcat 7, par exemple, il ne sera plus nécessaire d'avoir un fichier vide comme celui-ci. J'ai couru des tests pour vérifier en utilisant Tomcat 6 et Tomcat 7. Dans le passé, j'eu des tests RAN Glassfish et supposais un problème Tomcat 6 était en jeu puisque nous courons notre logiciel dans Tomcat 6 à l'heure actuelle et il est pas 3.0 conteneur de servlet. J'avais utilisé une page JSP avec redirection, mais après le déplacement totalement à facelets je n'aimais pas avoir une gauche sur la page JSP. Ceci est une excellente solution pour le court terme jusqu'à ce que nous courons dans un conteneur 3.0 servlet. La vraie raison est que cela fonctionne tout est fait avec l'entrée WEB.XML est un contrôle sur l'existence de fichiers. Le vrai travail est géré hors de JSF qu'il attrape la demande à la page visages ainsi il frappe jamais cette page vide pour quoi que ce soit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top