Galera boa tarde.
Estou com o seguinte problema: Estou prosseguindo no aprendizado sobre JSF através de um livro. Estou em uma das partes qual crio um commandLink que chama um método do meu managed bean que realiza a exclusão do item do banco de dados, passando como parâmetro um Objeto. Meu problema está da linha 20 à 22 da minha página JSF:
Vejam a minha estrutura atual:
JSF:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core">
<head>
<title>Listagem de Automóveis</title>
</head>
<h:body>
<h:form>
<h:dataTable border="1" value="#{automovelBean.automoveis}" var="automovel">
<h:column>
<f:facet name="header">Id</f:facet>
#{automovel.id}
</h:column>
<h:column><f:facet name="header">Marca</f:facet>#{automovel.marca}</h:column>
<h:column><f:facet name="header">Modelo</f:facet>#{automovel.modelo}</h:column>
<h:column><f:facet name="header">Ano Fabricação</f:facet>#{automovel.anoFabricacao}</h:column>
<h:column><f:facet name="header">Ano Modelo</f:facet>#{automovel.anoModelo}</h:column>
<h:column><f:facet name="header">Observações</f:facet>#{automovel.observacoes}</h:column>
<h:column>
<f:facet name="header">Ação</f:facet>
<h:commandLink action="#{automovelBean.excluir(automovel)}" value="Editar">
<f:param name="automovel" value="#{automovel}" />
</h:commandLink>
</h:column>
</h:dataTable>
</h:form>
</h:body>
</html>
Apenas o método na minha classe tipo ManagedBean:
public void excluir(Automovel automovel){
EntityManager em = JPAUtil.getEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
em.remove(automovel);
tx.commit();
em.close();
}
Nesta minha estrutura, eu tenho o seguinte retorno quando clico no link através de teste no meu navegador:
/listaAutomoveis.xhtml @25,92 action="#{automovelBean.excluir(automovel)}" Failed to parse the expression [#{automovelBean.excluir(automovel)}]
Eu já pesquisei várias maneiras, até achei algumas coisas, mais relacionadas a tipos de dados primitivos, e não objetos e ainda não consegui evoluir.
Poderiam me ajudar qual a forma correta de passar esse parâmetro Objeto ao meu método para realizar a exclusão?
Grato!