JSF & Hibertate Netbeans 5.5 Internal error

2 respostas
H

Estou rodando uma aplicação web simples, as páginas jsp simples, tudo bem, mas qdo chamo a página de cadastro, deparo com esse erro:

The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: #{CarroFacade.createSetup}: javax.faces.el.MethodNotFoundException: createSetup

javax.faces.webapp.FacesServlet.service(FacesServlet.java:209)

org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

Uma classe é o contrutor só isso e a outra faz a persistencia em …Facade.java. Segue ela abaixo:

package beans;

import java.util.List;

import javax.faces.application.FacesMessage;

import javax.faces.context.ExternalContext;

import javax.faces.context.FacesContext;

import javax.servlet.http.HttpServletRequest;

import org.hibernate.Session;

import org.hibernate.Transaction;

import util.HibernateUtil;

/**
  • @netbeans.hibernate.facade beanClass=beanslocadora.Carro
    
    */
    
    public class CarroFacade {
    
    private Carro carro;
    
    Session session;
    
    public void saveCarro(Carro carro) {
    
    try{
    
    HibernateUtil.beginTransaction();
    
    Session session = HibernateUtil.currentSession();
    
    session.save(carro);
    
    HibernateUtil.commitTransaction();
    
    addMessage(Carro salvo com sucesso.);
    
    }catch(Exception e1){
    
    addMessage(Erro ao cadastrar carro!);
    
    }finally{HibernateUtil.closeSession();}
    
    }
    
    // generate é apenas para um teste
    
    public void generate(){
    
    Carro palio= new Carro();
    
    palio.setPlaca(ABC 3078);
    
    palio.setSituacao((short)0);
    
    palio.setDescricao(Palio 2004);
    
    palio.setKm(100);
    
    palio.setPrecoKm((float)0.12);
    
    palio.setTaxaDiaria(12);
    
    palio.setObservacao(Revisado 25.000km);
    
    this.saveCarro(palio);
    
    }
    
    public String criaCarro(Carro carro){
    
    if (this.findByPlaca(carro.getPlaca())==null)
    
    {this.saveCarro(carro);
    
    return carro_criado;
    
    }else  {
    
    addMessage(Carro com placa ¡ existente!);
    
    return carro_create;
    
    }
    
    }
    
    // Usando o atributo carro
    
    public String criaCarro(){
    
    if (this.findByPlaca(carro.getPlaca())==null)
    
    {this.saveCarro(this.getCarro());
    
    return carro_criado;
    
    }else  {
    
    addMessage(Carro com placa ¡ existente!”);
    
    return carro_create;
    
    }
    
    }
    

    public CarroFacade(){}

    public Carro getCarro() {
    
    return carro;
    
    }
    
    public void setCarro(Carro carro) {
    
    this.carro = carro;
    
    }
    
public String createSetup() {

this.setCarro(new Carro());

return carro_create;

}
public Carro findByPlaca(String placa) {

try{

Session session = HibernateUtil.currentSession();

/* org.hibernate.Query query = session.createQuery(

" select carro " +

" from  " +

" Carro as carro " +

"  where  " +

" carro.placa = ? "); */

<a href="//query.setParameter">//query.setParameter</a>(0, placa);

String query1 =“from Carro c where c.placa = :placa”;

org.hibernate.Query query = session.createQuery(query1).setString(“placa”, placa).setMaxResults(1);

Carro carro =(Carro) query.uniqueResult();

return carro;

}catch(Exception e){ addMessage(“Erro ao localizar um carro!”);

return null;

}

}
public List getCarros() {

try{

HibernateUtil.beginTransaction();

Session session = HibernateUtil.currentSession();

org.hibernate.Query query = session.createQuery(select object(o) from Carro as o);

List list= query.list();

HibernateUtil.commitTransaction();

HibernateUtil.closeSession();

return list;
}catch(Exception e1){ 
          addMessage("Erro em listar carros!"); 
          return null;
        }

}

public String destroy() {

try{

HibernateUtil.beginTransaction();

Session session = HibernateUtil.currentSession();

Carro carro = getCarroFromRequestParam();

session.delete(carro);

HibernateUtil.commitTransaction();

addMessage(Carro foi removido com sucesso.);

} catch (Exception ex) {

addMessage(Erro ao remover carro!);

} finally{HibernateUtil.closeSession();}

return carro_list;

}
public Carro getCarroFromRequestParam() {
    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
    HttpServletRequest request = (HttpServletRequest)ec.getRequest();
    String param = request.getParameter("placa");
    System.out.println("placa em getCarroFromRqPar="+param);
    return this.findByPlaca(param);  
    
}
public static void addMessage(String msg) {

FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg);

FacesContext fc = FacesContext.getCurrentInstance();

fc.addMessage(null, facesMsg);

}
public String editSetup() {

setCarroFromRequestParam();

return carro_edit;

}

public void setCarroFromRequestParam() {

Carro carro = getCarroFromRequestParam();

if(carro==null) System.out.println(carro nulo);

setCarro(carro);

}
public String edit() {
    try{
         HibernateUtil.beginTransaction();
         Session session = HibernateUtil.currentSession();
         session.merge(carro);
         HibernateUtil.commitTransaction();
         addMessage("Carro foi atualizado com sucesso.");
    } catch (Exception ex) {
        try {
             addMessage("Erro ao atualizar carro!");
        } catch (Exception e) {System.out.println("erro em edit carro");}
    }finally{ HibernateUtil.closeSession(); }
    return "carro_list"; 
}

}// fim da classe CarroFacade

Alguem pode me ajudar qual a origem do erro e como soluciona-lo?? Seria problema de path apenas ou algum outro!!

2 Respostas

Fabio_Kung

Configurou o CarroFacade como managed bean no faces-config.xml?

H

Oi Fabio!!

Interessante, que está configurado sim!! Se quiser posto o faces-config.xml aqui!!

Valeu!!

Criado 30 de novembro de 2006
Ultima resposta 30 de nov. de 2006
Respostas 2
Participantes 2