So konfigurieren Sie die faces-config.xml
Ich Lerne JSF für die erste Zeit. Erstellt habe ich ein kleines Login-Projekt mit 4 Dateien:
1.User.java
2.Login.jsp
3.Loginfailed.jsp
4.faces-config.xml
5.Erfolg.jsp
Will ich navigieren Sie zu der Seite "Erfolg.jsp", ob Benutzername und Passwort übereinstimmen und zu "Loginfailed.jsp" wenn es nicht. Aber ich weiß nicht wie man das überprüfen, und wo und wie die Navigatoren in "faces-config.xml".
Dies ist mein code:
User.java:
package test;
public class User {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String login(){
//Image here a database access to validate the users
if (name.equalsIgnoreCase("tester") && password.equalsIgnoreCase("tester")){
return "success";
} else {
return "failed";
}
}
}
Login.jsp:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Login</title>
</head>
<body>
<f:view>
<f:loadBundle basename="messages.messages" var="msg" />
<h:form>
<h:panelGrid columns="2">
<h:outputLabel value="#{msg.user}"></h:outputLabel>
<h:inputText value="#{user.name}">
</h:inputText>
<h:outputLabel value="#{msg.password}"></h:outputLabel>
<h:inputSecret value="#{user.password}">
</h:inputSecret>
</h:panelGrid>
<h:commandButton action="#{user.login}" value="#{msg.login}"></h:commandButton>
</h:form>
</f:view>
</body>
</html>
faces-config.xml:
<faces-config>
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>test.User</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
- Sind Sie wirklich Lern-JSF2? JSP ist veraltet seit JSF2 und durch gelungen Facelets (XHTML). Empfehle ich zu überprüfen, Ihre Lern-Ressourcen, wenn Sie nicht versehentlich lernen JSF1.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Regeln über die navigation faces-config.xml ist merkwürdig, und ich empfehle nicht die Verwendung von xml-navigation-Regeln mit jsf 2.x
Den zurückgegebenen String aus dem action-Methode gibt die Seite die umgeleitet werden soll.
Wenn Sie umleiten möchten eine genaue URL, die Sie verwenden können, die folgenden code-snipped.
Tut mir Leid um die Mühe, all die Leser, aber ich dachte, eine Antwort heraus. Nur für den Fall, jemand anderes kommt über die gleiche situation, das ist, was das Problem gelöst:
Diese in der faces-config.xml hat den trick