Target Unreachable, identifier 'loginBean' resolved to null

2 respostas
M

Bom dia pessoal,

Estou fazendo um sistema de abertura de chamados, porem estou com um problema no login e não estou conseguindo identificar, pois ele da o seguinte erro "javax.servlet.ServletException: /login.xhtml @23,63 value="#{loginBean.cpf}": Target Unreachable, identifier 'loginBean' resolved to null javax.faces.webapp.FacesServlet.service(FacesServlet.java:521)" Se alguém puder me ajudar agradeço.

Abaixo o código:

login.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets">


<ui:composition template="/template.xhtml">
	<ui:define name="centro">

		<h:form id="formulario" action="Acesso">
			<div class="acesso">
			
				<h:panelGrid styleClass="acesso" columns="2" rendered="#{loginBean.usuarioLogado!=null}">
					<h:commandButton styleClass="logout" action="#{loginBean.logout}" value="Sim" />
					<h:commandButton styleClass="logout" action="#{loginBean.login}" value="Não" />
				</h:panelGrid>

				<h:panelGrid columns="2" rendered="#{loginBean.usuarioLogado==null}" styleClass="acesso" border="1">
					<h:outputLabel styleClass="log" value="Usuario:" />
					<h:inputText styleClass="log" value="#{loginBean.cpf}" />

					<h:outputLabel styleClass="log" value="Senha:" />
					<h:inputSecret styleClass="log" value="#{loginBean.senha}" />

				</h:panelGrid>
				
				<h:panelGrid columns="1" rendered="#{loginBean.usuarioLogado==null}"
					styleClass="acesso1">
					<h:commandLink>Esqueci minha senha</h:commandLink>
					<h:commandButton styleClass="botaoLogar"
						action="#{loginBean.login}" value="Login" />
				</h:panelGrid>
			</div>
		</h:form>
	</ui:define>
</ui:composition>
</html>

LoginBean

package tccjsf.bean;


import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.persistence.EntityManager;

import tccjsf.dao.LoginDao;
import tccjsf.model.Tipousuario;
import tccjsf.model.Usuario;
import tccjsf.util.JPAUtil;


@ManagedBean
@SessionScoped
public class LoginBean {

	private EntityManager entityManager;
	private LoginDao loginDao;

	private String cpf;
	private String senha;
	private Usuario usuarioLogado;
	private Tipousuario tipoUsuario;


	public LoginBean() {
		this.entityManager = JPAUtil.getEntityManagerFactory().createEntityManager();
		this.loginDao = new LoginDao(this.entityManager);
	}

	public String getSenha() {
		return senha;
	}

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

	public String login(){
		this.setUsuarioLogado(loginDao.getUsuario(cpf, senha));
		if(usuarioLogado == null){
			return "erroLogin.xhtml";
		}else {
			if(usuarioLogado.getTipousuario().getIdtipoUsuario() == 1){

				return "telaInicialUsuario.jsf";
			} else{
				if(usuarioLogado.getTipousuario().getIdtipoUsuario() == 2){
					return "telaInicialAtendente.jsf";
				}else{
					return "telaInicialAdm.jsf";
				}
			}
		}		
	}

	public String logout(){
		this.setUsuarioLogado(null);
		return null;
	}

	public Usuario getUsuarioLogado() {
		return usuarioLogado;
	}

	public void setUsuarioLogado(Usuario usuarioLogado) {
		this.usuarioLogado = usuarioLogado;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public Tipousuario getTipoUsuario() {
		return tipoUsuario;
	}

	public void setTipoUsuario(Tipousuario tipoUsuario) {
		this.tipoUsuario = tipoUsuario;
	}
}

Agradeço desde já.

2 Respostas

M

Ele está recebendo um valor NULO, o que você está passando pra ele?

M

Ele deveria pegar o que for digitado no inputText.

<h:panelGrid columns="2" rendered="#{loginBean.usuarioLogado==null}" styleClass="acesso" border="1">
					<h:outputLabel styleClass="log" value="Usuario:" />
					<h:inputText styleClass="log" value="#{loginBean.cpf}" />

					<h:outputLabel styleClass="log" value="Senha:" />
					<h:inputSecret styleClass="log" value="#{loginBean.senha}" />

				</h:panelGrid>

Mas o que acho mais estranho e que ontem a noite funcionava normal, liguei novamente agora e deu esse erro.

Criado 1 de dezembro de 2012
Ultima resposta 1 de dez. de 2012
Respostas 2
Participantes 2