[RESOLVIDO] Não redireciona a página JSF + Primefaces

3 respostas
J

Não está redirecionando para a página como eu esperava, após um login bem sucedido. Se alguém puder ajudar, agradeço:

Meu Bean (getters e setters omitidos):

public class Login {
   
   private String usuario;
   private String senha;
    
   public Login() {
   }
   
   public String checarUsuario() {
       
      String resultado; 
      if(this.usuario.equalsIgnoreCase("fulano") && this.senha.equalsIgnoreCase("12345")) {
         resultado = "sucesso";
         return resultado;
      }
      resultado = "fracasso";
      return resultado;
    
    }
    
}

Meu faces-config.xml:

<managed-bean>
        <managed-bean-name>Login</managed-bean-name>
        <managed-bean-class>primatech.com.br.beans.Login</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

    <navigation-rule>
        <from-view-id>/login.xhtml</from-view-id>
        <navigation-case>
            <from-outcome>sucesso</from-outcome>
            <to-view-id>/principal.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>

A página xhtml com o formulário prime faces:

<h:form id="loginForm">
            <p:panel header="Autenticação do Usuário" style="width: 50%">
             <h:panelGrid columns="3" cellpadding="3">
             <h:outputText value="Login:" />
             <p:inputText id="nomeTxt" value="#{Login.usuario}" required="true" requiredMessage="O campo Login é necessário!" /><p:message for="nomeTxt" />
             <h:outputText value="Senha:" />
             <p:keyboard id="senhaTxt" value="#{Login.senha}" password="true" required="true" requiredMessage="O campo senha é necessário!" /><p:message for="senhaTxt" />
             <p:commandButton id="loginBtn" value="Enviar" actionListener="#{Login.checarUsuario}" ajax="false"/>
             <p:commandButton id="limpaBtn" value="Limpar" type="reset" />
             </h:panelGrid>
          </p:panel>
        </h:form>

Qualquer ajuda será muito bem vinda!

3 Respostas

Hebert_Coelho

Tente retirando o campo /login.xhtml

J

jakefrog, fiz isso e outras mudanças, porém, só funcionou quando mudei na página xhtml de actionListener para action apenas.

Devo colocar resolvido no tópico ou deixo em aberto para futuras perguntas relativas ao projeto?

Hebert_Coelho

Realmente, quem tem que direcionar é action. Esqueci desse detalhe.

Deixa como resolvido mesmo, cada dúvida no seu devido post. [=

Criado 27 de dezembro de 2011
Ultima resposta 27 de dez. de 2011
Respostas 3
Participantes 2