JSF: stellen A. jsf ein Standard-Seite zu gehen, wenn Typ mydomain.com
Gerade jetzt, jedes mal, wenn ich geben mydomain.com
es würde automatisch gehen mydomain.com/projectname/home.jsf
, das ist mein login-Seite. Nicht sicher, warum, ich weiß, dass ich noch in der Sitzung, D. H., dass ich navigieren kann, um eine eingeschränkte Seite ohne login wieder. Also wie mache ich so, dass wenn ich geben Sie mydomain.com
ist, gehe ich zu mydomain.com/projectname/CentralFeed.jsf
statt der login-Seite, wenn der Benutzer noch in der Sitzung. Hier ist meine grobe design
In meinem web.xml
<welcome-file-list>
<welcome-file>CentralFeed.jsf</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>jdbc-realm-scholar</realm-name>
<form-login-config>
<form-login-page>/home.jsf</form-login-page>
<form-error-page>/LoginError.jsf</form-error-page>
</form-login-config>
</login-config>
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.scholar.servlet.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/CentralFeed.jsf</url-pattern>
<url-pattern>/TextBook.jsf</url-pattern>
...
</filter-mapping>
Ich bin nicht sicher, ob Sie Jungs wissen müssen, aber ich habe auch einen Filter aufrufen MyFilter
, die Karte restricted " - Seite, und überprüfen Sie, ob der Benutzer noch in der Sitzung, wenn ja dann nur chain.doFilter(req, res);
, wenn nicht dann umleiten auf die login-Seite home.jsf
Du musst angemeldet sein, um einen Kommentar abzugeben.
setzen
index.jsp
und in Sie
entfernen
vom
web.xml
jsf
wie gut?response.sendRedirect()
Sie nur machen-clientGET
gewünschteURL
die Sie umleiten möchten, von der Wurzeljavax.servlet.ServletException: Error Parsing /index.xhtml: Error Traced[line: 12] The content of elements must consist of well-formed character data or markup.
ich bin mit JSF Facelets btwDen
<welcome-file>
hat, zu einem Punkt der physikalischen Datei auf der Festplatte, nicht auf einige servlet-mapping. Da hast du eineCentralFeed.xhtml
- Datei, eine<welcome-file>
vonCentralFeed.jsf
ist nicht zur Arbeit gehen.Gibt es zwei Lösungen (abgesehen von der scriptlet hack vorgeschlagen von Jigar):
Erstellen Sie eine leere Datei
CentralFeed.jsf
- Datei neben derCentralFeed.xhtml
. Diese Narren der server, dass die Datei physisch vorhanden ist.Karte der
FacesServlet
auf*.xhtml
statt*.jsf
. Dies war zwar unmöglich, in der JSF-1.x, weil es laufen würde in einer endlos-Schleife, das funktioniert gut auf JSF 2.0. Ihre Frage, die die Geschichte bestätigt, dass Sie sich mit JSF 2.0. Auf diese Weise können Sie nur setzen Sie den<welcome-file>
zuCentralFeed.xhtml
.