Tela de loguin não apresenta mensagem de usuário inválido - primeface

0 respostas
Dayson_Rodrigues

esotu com uma tela de Login, só que na hora que informo a senha incorreta, ele não mostra a mensagem.

OBS: está tudo normal, apenas na hora de mostrar a senha inválida não está dando certo.

public String entrar() {
	System.out.println("Fazendo Login" +usuario.getLogin() + usuario.getSenha());
	boolean entrar = new LoginDAO().existeUsuario(this.usuario);

	if (entrar) {
		//Guarda os dados do usuário, em uma chave usuarioLogado 
		FacesContext context = FacesContext.getCurrentInstance();
		context.getExternalContext().getSessionMap().put("usuarioLogado", this.usuario); //chave e valor da sessão
		return "Home?faces-redirect=true";
	}
	FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
				"usuario ou senha incorrteta!", "usuario ou senha incorrteta!"));
 //		FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true); 2 requisições ele mostra a mensagem de erro.
 		return "Login?faces-redirect=true";
 	}

Meu DAO.

public boolean existeUsuario(Usuario usuario) {
		EntityManager manager = new JPAUtil().getManager();
		TypedQuery<Usuario> query = manager
			.createQuery("select u from Usuario u where u.login = :pLogin and u.senha = :pSenha", Usuario.class);
		query.setParameter("pLogin", usuario.getLogin());
		query.setParameter("pSenha", usuario.getSenha());

		try {
			Usuario usu = query.getSingleResult();
		} catch (NoResultException e) {
			return false;
		}
		manager.close();
		return true;
	}

meu xhtml

<h:form id="formulario-login">
	<div id="login-dialog">
		<p:messages autoUpdate="true" closable="true" />
		<h:panelGrid columns="2" styleClass="grid-login">
			<p:outputLabel value="usuário:" for="login" />
			<p:inputText size="30" id="login" value="#{loginBean.usuario.login}" required="true" />

			<p:outputLabel value="senha:" for="senha" style="float:right;" />
			<p:password size="30" id="senha" value="#{loginBean.usuario.senha}"  required="true" 
						feedback="true" inline="true" promptLabel="informe sua senha." 
						weakLabel="fraca" goodLabel="razoável" strongLabel="forte"/>

			<h:panelGroup />
			<p:commandButton value="Acessar" update="@form" action="#{loginBean.entrar}"/>
		</h:panelGrid>
	</div>
</h:form>
Criado 20 de janeiro de 2017
Respostas 0
Participantes 1