Bom dia, Estou com problema ao utilizar <f:setPropertyActionListener>, estou utilizando ele para deletar um pessoa. Mas ele não esta passando objeto para o método.Segui meu código:
<h:dataTable id="tablepessoa" value="#{PessoaFisicaBean.listPessoaFisica}"
var="pessoa" styleClass="table table-condensed table-hover">
...
<h:column>
<f:facet name="header">
<h:outputText value="Ações" />
</f:facet>
<div class="btn-group">
<h:commandLink id="btn-delete"
action="#{PessoaFisicaBean.teste}"
styleClass="btn btn-danger btn-sm">
<f:setPropertyActionListener value="#{pessoa}"
target="#{PessoaFisicaBean.pessoaFisicaSelecionado}"/>
<span class="glyphicon glyphicon-trash" />
</h:commandLink>
</div>
</h:column>
@ViewScoped
@ManagedBean(name = "PessoaFisicaBean")
public class PessoaFisicaBean implements Serializable {
private static final long serialVersionUID = 1L;
private PessoaFisica pessoaFisica = new PessoaFisica();
private List<PessoaFisica> listPessoaFisica;
private PessoaFisica pessoaFisicaSelecionado;
public PessoaFisica getPessoaFisica() {
return pessoaFisica;
}
public void setPessoaFisica(PessoaFisica pessoaFisica) {
this.pessoaFisica = pessoaFisica;
}
public PessoaFisica getPessoaFisicaSelecionado() {
return pessoaFisicaSelecionado;
}
public void setPessoaFisicaSelecionado(PessoaFisica pessoaFisicaSelecionado) {
this.pessoaFisicaSelecionado = pessoaFisicaSelecionado;
}
public List<PessoaFisica> getListPessoaFisica() {
return listPessoaFisica;
}
public Sexo[] getListSexo() {
return Sexo.values();
}
public void actionListenerGetDataRegister(ActionEvent actionEvent) {
this.pessoaFisica.setCadastro(GetDateRegister.getDateRegister());
}
public void insert() {
EntityManager entityManager = (EntityManager) ToolsFaces.getRequestAttribute("session");
try {
new PessoaFisicaService(new PessoaFisicaRepository(entityManager)).insertService(pessoaFisica);
this.pessoaFisica = new PessoaFisica();
ToolsFaces.addMessage_Info("Cadastro Efetuado Com Sucesso!");
} catch (Exception e) {
ToolsFaces.addMessage_Error(e.getMessage());
}
}
public void select() {
EntityManager entityManager = (EntityManager) ToolsFaces.getRequestAttribute("session");
this.listPessoaFisica = new PessoaFisicaRepository(entityManager).selectRepository();
}
//Deletar pesssoa
public void delete() {
EntityManager entityManager = (EntityManager) ToolsFaces.getRequestAttribute("session");
try {
System.out.println("delete 1");
new PessoaFisicaService(new PessoaFisicaRepository(entityManager)).deleteService(pessoaFisicaSelecionado);
System.out.println("delete 2");
ToolsFaces.addMessage_Info("Exclusão Efetuada Com Sucesso!");
} catch (Exception e) {
ToolsFaces.addMessage_Error(e.getMessage());
}
}
public void teste() {
System.out.println("Pessoa Selecionada "+pessoaFisicaSelecionado.getNome());
}
}