JSF - Managed bean não localizada!

5 respostas
V

Pessoal, estou com o seguinte problema e não estou encontrando o erro. Alguém pode dá uma ajuda?
No hibernate.cfg.xml tenho mapeada as classes:

<mapping class="br.com.ctp.entidades.Usuario"/>
    <mapping class="br.com.ctp.entidades.Paciente"/>

No faces-config tenho a declaração do managed bean, mas sempre diz que nao encontra o paciente…

<managed-bean>
    <managed-bean-name>usuarioCt</managed-bean-name>
    <managed-bean-class>br.com.ctp.controller.UsuarioController</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>

<managed-bean>
    <managed-bean-name>paciente</managed-bean-name>
    <managed-bean-class>br.com.ctp.controller.PacienteController</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

E sempre mostra esse erro:

javax.servlet.ServletException: Não foi possível criar o managed bean paciente.  Os seguintes problemas foram encontrados:
     - Bean ou propriedade de classe br.com.ctp.controller.PacienteController para o managed bean paciente não pode ser localizada.

Alguém sabe onde estou errando?

5 Respostas

Flavio_Almeida

Você provavelmente está apontando para alguma propriedade do seu managedBean via EL, mas essa propriedade não existe.

V

ok, mas alguém tem alguma sugestão de como resolver esse problema? Pois não consegui identificar o que estar errado…

AnjoVingador

Se você pudesse colocar o código da tela e o do bean, seria mais fácil para tentarmos identificar o erro.

Falow. :slight_smile:

V

Aqui tem o código do managede bean:

public class PacienteController implements Serializable {
    private static final long serialVersionUID = -333995781063775201L;
    private Paciente paciente = new Paciente();
    private List<Paciente> lista = new ArrayList<Paciente>();    

    private DataModel model;
    private String nomePesquisa="";

    public String getNomePesquisa() {
		return nomePesquisa;
	}

	public void setNomePesquisa(String nomePesquisa) {
		this.nomePesquisa = nomePesquisa;
	}


    public String save(){
        PacienteFacade pacienteService = new PacienteFacadeImpl();
        pacienteService.salva(paciente);
        this.paciente = new Paciente();
        return "CadastraPaciente";

    }

    public DataModel getPacientes(){
        PacienteFacade pacienteService = new PacienteFacadeImpl();
        try{
            model = new ListDataModel(pacienteService.lista());
        }catch (Exception e){
			System.out.println("não tem Aluno Cadastrado! "+e );
		}
		return model;
    }
    public String pesquisaPacientes(){
        PacienteFacade pacienteService = new PacienteFacadeImpl();
		if(nomePesquisa.equals("")){
			lista = pacienteService.lista();
		}else {
			model = new ListDataModel(pacienteService.pesquisaPacientesByNome(nomePesquisa));

		}
		return null;
	}

    public void setPaciente(Paciente paciente){
        this.paciente = paciente;
    }
    public Paciente getPaciente(){
        return paciente;
    }
}

Aqui o código da página.

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:rich="http://richfaces.org/rich"
      xmlns:a4j="http://richfaces.org/a4j">
    
    
    <ui:composition template="/template/template.xhtml">

        <ui:define name="topo">
            <ui:include src="/menu.xhtml">                
            </ui:include>
        </ui:define>

        <ui:define name ="corpo">
            <h3>Cadastro de Pacientes <small>Pacientes do Sistema</small></h3>
                <div style="clear: both;"> </div>
            
                
                    <h:form>
                        
                        <h:panelGrid columns="2" border="1" >
                            
                            <h:outputLabel value="Nome do Paciente" for="nome_paci" />
                            <h:inputText id="nome_paci" value="#{paciente.paciente.nome_paci}" size="50"  />
                            <h:outputLabel value="Data_nas:" for="data_nas" />
                            <h:inputText id="data_nas" value="#{paciente.paciente.data_nas}" title="Data_nas" >
                                <f:convertDateTime pattern="MM/dd/yyyy" />
                            </h:inputText>
                             ...

Se o valor value ficar vazio exibe os campos do formulario, mas quando coloco o “paciente.paciente.nome_paci”, por exemplo, exibe o erro que mencionei. E não sei por que isso estar ocorrendo! Alguém sabe como resolver esse problema?

SEVERE: Error Rendering View[/paciente/cadastroPaciente.xhtml]
com.sun.faces.mgbean.ManagedBeanCreationException: Não foi possível criar o managed bean paciente.  Os seguintes problemas foram encontrados:
     - Bean ou propriedade de classe br.com.ctp.controller.PacienteController para o managed bean paciente não pode ser localizada.
V

outra coisa: estou utilizando Maven!
pessoal alguém já teve algum problema similar? se sim! pode dividir como resolve esse problema, pois se é configuração de alguma coisa não sei onde é!
alguém?! Desde já, obrigado.

Criado 27 de janeiro de 2011
Ultima resposta 28 de jan. de 2011
Respostas 5
Participantes 3