Fala meus amigos, como vão?
Estou com um problema no meu sistema, pois estou fazendo meu TCC utilizando JSF, Hibernate e PrimeFaces.
Vejam meu código:
Página:
<p:column styleClass="column-very-small">
<p:commandButton icon="ui-icon-search"
oncomplete="mostrar.show()"
title="Visualizar"
update=":formTable:dialog">
<f:setPropertyActionListener value="#{inst}" target="#{instituicaoMB.inBean}" />
</p:commandButton>
<p:commandButton icon="ui-icon-close"
oncomplete="confirma.show()"
title="Excluir">
<f:setPropertyActionListener value="#{inst}" target="#{instituicaoMB.inBean}" />
</p:commandButton>
</p:column>
<!-- Mais um pedaço de código sem importância no momento... -->
<p:confirmDialog header="Processo de exclusão"
appendToBody="true"
widgetVar="confirma"
showEffect="clip"
hideEffect="clip"
message="Confirmar a exclusão da Instituição?">
<p:commandButton value="Sim, exclua"
action="#{instituicaoMB.excluirInstituicao}"
update=":formTable:tb" />
<p:commandButton value="Não, não exclua"
onclick="confirma.hide()"/>
</p:confirmDialog>
ManagedBean (InstituicaoMB):
public void excluirInstituicao() {
InstituicaoDAOImpl instituicaoDAOImpl = new InstituicaoDAOImpl();
instituicaoDAOImpl.excluir(inBean);
System.out.println("Ecluído");
}
Classe InstituicaoDAOImpl, que extende a classe AbstractDAO, que contém o método excluir:
public void excluir(Object object) {
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtil.getSession();
transaction = session.beginTransaction();
session.delete(object);
session.flush();
transaction.commit();
} catch (HibernateException ex) {
transaction.rollback();
throw new HibernateException("Falha ao excluir o objeto : " + object.toString()
+ "(" + ex.getMessage() + ")", ex.getCause());
}
}
O meu problema é o seguinte galera:
quando eu clico no botão “Excluir”, na tela, aparece um confirmDialog perguntando se realmente desejo excluir o registro.
Quando clico em “Sim, exclua”, ele deveria excluir o objeto e atualizar a tabela.
Não sei se meu erro está no ManagedBean, ou se o botão “Sim, exclua”, do confirmDialog, está chamando corretamente a função (não sei se uso oncomplete, onclick, action…).
Podem me ajudar?
[]'s