Frage

Ich habe einen einfach JSF2 App Facelets. Mein web.xml wie folgt festgelegt: -

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

Ich mag die App auf die Startseite auf dem Standard der /pages/login.xhtml sind. Ich kann nicht scheinen, um die Welcome-Datei Einstellung zu bekommen, dies zu holen, wenn sie im Browser auf den Kontext Wurzel gehen.

Meine web.xml willkommen Einstellung ist wie folgt: -

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

Wie erzwinge ich die Welcome-Seite die Anmeldeseite lese und sicherzustellen, dass sie die Gesichter Servlet geht durch?

Wenn ich die im Anschluss an der Seite angezeigt verwenden, aber es ist nicht durch die Gesichter Servlet gegangen und so steht Komponenten nicht wiedergegeben: -

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

Jede Hilfe willkommen!

War es hilfreich?

Lösung

Sie haben eine leere login.jsf Datei, neben Ihrer login.xhtml Datei zu erstellen. Aus irgendeinem Grunde ist dieser Hack benötigt, um die Servlet-Container in dem Denken Ihre Begrüßungs-Datei vorhanden Trick.

. Hinweis: Die Antwort ist immer noch die JSF Antwort Ihrer login.xhtml-Datei, nicht die leere login.jsf Datei, die Sie erstellen

Andere Tipps

Weitere Informationen zur ursprünglichen Lösung.

Dies ist nur eine Rückwärtskompatibilität muß für Servlet-Container vor der Version 3. Sobald unter Glassfish 3.1 ausführen oder Tomcat 7, zum Beispiel, ist es nicht mehr erforderlich, wie dies eine leere Datei haben. Ich lief Tests mit Tomcat 6 und Tomcat 7. In der Vergangenheit mit Glassfish Ich hatte Tests laufen, um zu überprüfen und übernahm ein Tomcat 6 Problem im Spiel war, da wir unsere Software in Tomcat 6 zum aktuellen Zeitpunkt ausgeführt werden, und es ist nicht 3.0 Servlet-Container. Ich hatte eine JSP-Seite mit Umleitung wurde verwenden, aber nach völlig zu facelets bewegt über ich nicht mochte man über JSP-Seite verlassen zu müssen. Dies ist eine großartige Lösung für die nahe Zukunft, bis wir in einem 3,0-Servlet-Containern ausgeführt werden. Der wahre Grund, warum es funktioniert, ist, dass alle mit dem Web.xml Eintrag getan wird, ist eine Überprüfung der Datei Existenz. Die eigentliche Arbeit wird JSF behandelt ab, als er die Anforderung an die Gesichter Seite fängt es also nie trifft, die leere Seite für alles.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top