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

4 respostas
everson_cardoso1

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

@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();
	}

}

4 Respostas

Rodrigo_Sasaki

olha isso na sua stacktrace

WARNING: Cannot convert fornecedor of type class java.lang.String to class br.com.tcc.modelo.Fornecedor
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.

everson_cardoso1

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>

Rodrigo_Sasaki

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

O que tem de errado aí? :slight_smile:

everson_cardoso1

cara eu acabei de ver isso kkkkkkk

vlw muito obrigado pela ajuda corrigi e funciono hehehe

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

Criado 29 de novembro de 2012
Ultima resposta 29 de nov. de 2012
Respostas 4
Participantes 2