[RESOLVIDO]AJUDA[nao consegue contever o tipo da classe]

estou tendando implementar um metodo que remove

porém estou recebendo essa mensagem de erro alguem pode me ajuda?

Nov 29, 2012 5:56:18 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute WARNING: Cannot convert fornecedor of type class java.lang.String to class br.com.tcc.modelo.Fornecedor java.lang.IllegalArgumentException: Cannot convert fornecedor of type class java.lang.String to class br.com.tcc.modelo.Fornecedor at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:375) at org.apache.el.ExpressionFactoryImpl.coerceToType(ExpressionFactoryImpl.java:46) at com.sun.faces.facelets.tag.jsf.core.SetPropertyActionListenerHandler$SetPropertyListener.processAction(SetPropertyActionListenerHandler.java:197) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:772) at javax.faces.component.UICommand.broadcast(UICommand.java:300) at javax.faces.component.UIData.broadcast(UIData.java:912) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:722)

aqui esta a classe que implementa o metodo que tenta remover

[code]@RequestScoped
@ManagedBean
public class FornecedorBean {

private Fornecedor fornecedor = new Fornecedor();
private List<Fornecedor> fornecedores;

public void grava() {
	System.out.println("Gravando a fornecedor");
	DAO<Fornecedor> dao = new DAO<Fornecedor>(Fornecedor.class);
	dao.adiciona(fornecedor);
	fornecedores = dao.lista();
	limpaFormulario();
}

public void remove() {
	System.out.println("Removendo a fornecedor");
	DAO<Fornecedor> dao = new DAO<Fornecedor>(Fornecedor.class);
	Fornecedor rf = dao.buscaPorID(this.fornecedor.getIdFornecedor());
	dao.remove(rf);
	limpaFormulario();
}

public Fornecedor getFornecedor() {
	return fornecedor;
}

public void setFornecedor(Fornecedor fornecedor) {
	this.fornecedor = fornecedor;
}

public List<Fornecedor> getFornecedores() {
	System.out.println("Listando os fornecedores");
	if(fornecedores==null){
		DAO<Fornecedor> dao = new DAO<Fornecedor>(Fornecedor.class);
		fornecedores = dao.lista();
	}
	return fornecedores;
}

private void limpaFormulario() {
	this.fornecedor = new Fornecedor();
}

}[/code]

olha isso na sua stacktrace [quote]WARNING: Cannot convert fornecedor of type class java.lang.String to class br.com.tcc.modelo.Fornecedor [/quote] Acho que o problema não está no seu managed bean e sim no seu setPropertyActionListener.

E uma dica, sempre que for criar tópicos, crie com um nome que identifique o seu problema, AJUDA é genérico demais.

vlw rodrigo,

da uma olhada ta assim

<h:column> <f:facet name="header"><h:outputText value="Ações"/></f:facet> <h:form> <h:commandLink value="Remover" action="#{fornecedorBean.remove}"> <f:setPropertyActionListener value="fornecedor" target="#{fornecedorBean.fornecedor}"/> </h:commandLink> | <h:commandLink value="Alterar"> <f:setPropertyActionListener value="#{fornecedor}" target="#{fornecedorBean.fornecedor}"/> </h:commandLink> </h:form> </h:column>

<f:setPropertyActionListener value=[color=red]“fornecedor”[/color] target="#{fornecedorBean.fornecedor}"/>

O que tem de errado aí? :slight_smile:

cara eu acabei de ver isso kkkkkkk

vlw muito obrigado pela ajuda corrigi e funciono hehehe

<f:setPropertyActionListener value="#{fornecedor}" target="#{fornecedorBean.fornecedor}"/>