2017-09-07 4 views
1

J'essaie d'implémenter la navigation simple de page. Donc, chaque fois que je clique sur le bouton de connexion, il me suffit de me rediriger pour afficher la page et afficher le message de bienvenue.Impossible de trouver le cas de navigation correspondant avec de-view-id

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://xmlns.jcp.org/jsf/html" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:f="http://xmlns.jcp.org/jsf/core"> 
    <h:head> 
     <title>External Resources</title>   
    </h:head> 
    <h:body> 
     <ui:composition template="/WEB-INF/templates/template.xhtml"> 
      <ui:define name="css"> 
       <h:outputStylesheet library="css" name="index.css"/> 
      </ui:define> 
      <ui:define name="content"> 
       <h1>Welcome to Login Page</h1> 
        <h:form id="login-form" prependId="false"> 
         <h:panelGrid columns="5"> 
          <h:outputLabel for="username" value="Username"/> 
        <h:inputText id="username" value="#{loginBean.user.username}" /> 

          <h:outputLabel for="password" value="Password"/> 
       <h:inputSecret id="password" value="#{loginBean.user.password}" /> 

          <h:commandButton value="Login" id="cmdButton" 
          action="#{loginBean.goToWelcome()}"/> 
         </h:panelGrid> 
        </h:form> 
      </ui:define> 
     </ui:composition> 
    </h:body> 
</html> 

Ceci est mon bean de connexion qui contient une méthode goToWelcome qui retourne une chaîne.

LoginBean.java

@SessionScoped 
@ManagedBean 
public class LoginBean implements Serializable{ 

    private User user; 
    public LoginBean(){ 

    } 

    @PostConstruct 
    public void init(){ 
     user= new User(); 
    } 

    public User getUser() { 
     return user; 
    } 

    public void setUser(User user) { 
     this.user = user; 
    } 

    public String goToWelcome(){ 
     return "/pages/welcome?faces-redirect=true"; 
    } 

} 

l'erreur dit: -

Unable to find matching navigation case with from-view-id 
'/index.xhtml' for action '#{loginBean.goToWelcome()}' with outcome 
'/pages/welcome?faces-redirect=true' 

Répondre

0

Il y a plusieurs façons de retourner une page!


Le très simple: retourner une page comme par exemple dans votre backingBean:

return "DesiredPage.xhtml";

Cette page doit être dans WebPages dossier.