Versão atual:

Parâmetros não estão passando da página xhtml para o bean

Bom dia. Alguém pode me ajudar? Estou com problemas no repasse de parâmetros da página xhtml para o managedBean. Não está passando o número do usuário e a senha preenchidas no inputText e password. Estava dando tudo certo no login ontem, mas hoje, sem eu mudar nada, não deu log de erro, mas veio as mensagens: mensagens da página web

"Usuário inexistente."

Mensagens no log do eclipse:

Número Pessoal null
Senha: null
Lista = 0
null

Vejam se existe algum erro no código.

package phenraro.erp.controller;

import java.io.IOException;
import java.io.Serializable;

import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;

import phenraro.erp.model.Usuario;
import phenraro.erp.repository.Usuarios;
import phenraro.erp.util.FacesMessages;

@Named
@SessionScoped
public class LoginBean implements Serializable {

    private static final long serialVersionUID = 1L;

    private Usuario usuário;

    @Inject
    private Usuarios usuários;

    @Inject
    private FacesMessages messages;

    private String númeroPessoal;

    private String senha;



    public String getNúmeroPessoal() {
        return númeroPessoal;
    }

    public void setNúmeroPessoal(String númeroPessoal) {
        this.númeroPessoal = númeroPessoal;
    }

    public Usuarios getUsuários() {
        return usuários;
    }

    public void setUsuários(Usuarios usuários) {
        this.usuários = usuários;
    }

    public FacesMessages getMessages() {
        return messages;
    }

    public void setMessages(FacesMessages messages) {
        this.messages = messages;
    }

    public void setUsuário(Usuario usuário) {
        this.usuário = usuário;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public String login() {
        System.out.println("Número Pessoal " + númeroPessoal);
        System.out.println("Senha: " + senha);
        usuário = usuários.getUsuário(númeroPessoal);
        System.out.println(usuário);        
        if (usuário == null) {
            messages.info("Usuário inexistente.");
        } else if (!confereSenha()) {
            messages.info("Usuário existente e senha inválida.");
        } else if (confereSenha()) {
            messages.info("Usuário existente e senha válida.");
            try {
                FacesContext.getCurrentInstance().getExternalContext().redirect("Menu.xhtml");
            } catch (IOException ex) {
                messages.info("Erro ao exibir tela do Menu Principal. \n" 
                        + ex + "\nUsuário e ou senha errados!");
            }
            return "Menu?faces-redirect=true";
        } else {
            messages.info("Usuário inexistente ou senha inválida.");    
        }
        return null;
    }

    public Usuario getUsuário() {
        return usuário;
    }

    public void setUsuários(Usuario usuário) {
        this.usuário = usuário;
    }

    public boolean isUsuárioSelecionado() {
        return usuário != null && usuário.getId() != null;
    }

    /**
     * Método responsável por conferir a senha do usuário
     * @param númeroPessoal
     * @param senhaUsuário
     * @return
     */
    public boolean confereSenha() {        
        return (this.usuário.getSenhaCriptografada().equals(usuário.criptografar(senha)));
    }
}

Login.xhtml

<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    template="WEB-INF/template/Layout.xhtml">

    <ui:define name="titulo">
        Login
    </ui:define>

    <ui:define name="conteudo">


        <h:form id="frm">

            <p:messages id="loginMessages" />

            <p:defaultCommand target="loginCommandButton" scope="frm" />

            <h:panelGrid id="usuarioPanelGrid" columns="2">

                <p:outputLabel value="Usuário: " for="numeroPessoal" />
                <p:inputText id="numeroPessoal" size="20" maxlength="20" value="#{loginBean.númeroPessoal}" />

                <p:outputLabel value="Senha: " for="senha" />
                <p:password id="senha" size="20" maxlength="20" value="#{loginBean.senha}" />

                <h:outputLabel />
                <p:commandButton id="loginCommandButton" value="Login"
                    actionListener="#{loginBean.login}"
                    update="frm" process="frm"  />

            </h:panelGrid>

        </h:form>

    </ui:define>

</ui:composition>

Versão(1):

Ver a versão formatada

Parâmetros não estão passando da página xhtml para o bean

Comentário

new question