Olá amigos, não estou conseguindo fazer rodar o remover de uma tabela feita em JSF com ajax,
o link remover aparece, mas não executa nada, ou seja, o ajax não ta funcionando (eu acho), segue o código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:body>
<h:form>
<h:dataTable id="tabelaRecrutadores"
value="#{controleRecrutador.recrutadores}" var="recrutador">
<h:column>
<f:facet name="header">
<h:outputText value="Id"></h:outputText>
</f:facet>
#{recrutador.id}
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Nome"></h:outputText>
</f:facet>
#{recrutador.nome}
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Sobrenome"></h:outputText>
</f:facet>
#{recrutador.sobrenome}
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Matrícula"></h:outputText>
</f:facet>
#{recrutador.matricula}
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Email"></h:outputText>
</f:facet>
#{recrutador.email}
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Nome de Usuário"></h:outputText>
</f:facet>
#{recrutador.login.usuario}
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Senha"></h:outputText>
</f:facet>
#{recrutador.login.senha}
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Remover"></h:outputText>
</f:facet>
<f:ajax listener="#{controleRecrutador.deletar(recrutador)}" //aqui o Eclipse fala q tem erro de syntaxe na Expression Language
event="click" render="@form"> //não pode passar parâmetro??
<h:commandLink>Remover</h:commandLink>
</f:ajax>
</h:column>
</h:dataTable>
</h:form>
</h:body>
</html>
e o meu managedBean
package br.com.umc.controle;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.event.AjaxBehaviorEvent;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import br.com.umc.dao.HibernateDAORecrutador;
import br.com.umc.negocio.Login;
import br.com.umc.negocio.Recrutador;
@ManagedBean
public class ControleRecrutador {
private Recrutador recrutador;
private EntityManagerFactory factory;
private List<Recrutador> recrutadores;
public ControleRecrutador() {
recrutador = new Recrutador();
recrutador.setLogin(new Login());
factory = Persistence.createEntityManagerFactory("recrutamento");
}
public Recrutador getRecrutador() {
return recrutador;
}
public void setRecrutador(Recrutador recrutador) {
this.recrutador = recrutador;
}
public void setRecrutadores(List<Recrutador> recrutadores) {
this.recrutadores = recrutadores;
}
public String salvar() {
EntityManager manager = factory.createEntityManager();
HibernateDAORecrutador h = new HibernateDAORecrutador(manager);
h.salvar(recrutador);
return "olaMundo.jsp";
}
public List<Recrutador> getRecrutadores() {
if (this.recrutadores == null) {
System.out.println("CHAMANDO O REPOSITORIO");
EntityManager manager = factory.createEntityManager();
HibernateDAORecrutador repository = new HibernateDAORecrutador(
manager);
this.recrutadores = repository.getRecrutadores();
}
return this.recrutadores;
}
public void deletar(Recrutador recrutador) {
EntityManager manager = factory.createEntityManager();
HibernateDAORecrutador repository = new HibernateDAORecrutador(manager);
repository.excluir(recrutador);
this.recrutadores = null;
}
public EntityManagerFactory getFactory() {
return factory;
}
public void setFactory(EntityManagerFactory factory) {
this.factory = factory;
}
}
Alguem pode me ajudar?
Muito Obrigado