0
I was able to implement the deletion of record on a JSF page, but when deleting the record it doesn’t ask for the confirmation screen, I can’t understand, because it’s not working, but the line of code that asks for confirmation of the deletion is there, look at the page;
<ui:composition template="/WEB-INF/template/LayoutPadrao.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">
<ui:define name="titulo">Pesquisa Produto</ui:define>
<ui:define name="corpo">
<h:form id="frmPesquisaProduto">
<h1>Novo Produto</h1>
<p:messages autoUpdate="true" closable="true" />
<p:toolbar style="margin-top: 20px">
<p:toolbarGroup>
<p:commandButton value="Pesquisa"
action="#{pesquisaProdutoBean.pesquisa}" update="@form" />
</p:toolbarGroup>
<p:toolbarGroup align="right">
<p:button value="Novo" outcome="/produto/cadastro/CadastroProduto" />
</p:toolbarGroup>
</p:toolbar>
<p:panelGrid columns="2" id="painel"
style="width: 100%; margin-top: 20px" columnClasses="rotulo, campo">
<p:outputLabel value="Nome do Produto" for="nomep" />
<p:inputText id="nomep" size="60" maxlength="90"
value="#{pesquisaProdutoBean.filtro.nome}" />
</p:panelGrid>
<p:dataTable id="produtosTable"
value="#{pesquisaProdutoBean.produtosFiltrados}" var="produto"
style="margin-top: 20px" emptyMessage="Nenhum produto encontrado."
rows="20" paginator="true" paginatorAlwaysVisible="false"
paginatorPosition="bottom">
<p:column headerText="Nome do Produto"
style="text-align: center; width: 100px">
<h:outputText value="#{produto.nomeproduto}" />
</p:column>
<p:column headerText="Imagem do Produto">
<h:outputText value="a imagem será ainda implementada" />
</p:column>
<p:column headerText="Valor do produto"
style="text-align: right; width: 120px">
<h:outputText value="#{produto.valorproduto}">
<f:convertNumber type="currency" />
</h:outputText>
</p:column>
<p:column headerText="Descrição do Produto"
style="text-align: center; width: 100px">
<h:outputText value="#{produto.descproduto}" />
</p:column>
<p:column style="width: 100px; text-align: center">
<p:button outcome="/produto/cadastro/CadastroProduto"
icon="ui-icon-pencil" title="Editar">
<f:param name="produto" value="#{produto.idproduto}" />
</p:button>
<p:commandButton icon="ui-icon-closethick" title="Excluir"
process="@this" update=":frmPesquisaProduto:produtosTable"
action="#{pesquisaProdutoBean.excluir}">
<f:setPropertyActionListener
target="#{pesquisaProdutoBean.produtoSelecionado}"
value="#{produto}" />
<p:confirmDialog header="Confirmation"
message="Tem certeza que deseja excluir o produto #{pesquisaProdutoBean.produtoSelecionado.nomeproduto} ?"
icon="ui-icon-alert" />
</p:commandButton>
</p:column>
</p:dataTable>
<p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
<p:commandButton value="SIM" type="button"
styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="NÃO" type="button"
styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</p:confirmDialog>
</h:form>
</ui:define>
</ui:composition>
The piece of code in question is this:
<p:confirmDialog header="Confirmation"
message="Tem certeza que deseja excluir o produto #{pesquisaProdutoBean.produtoSelecionado.nomeproduto} ?"
icon="ui-icon-alert" />
This above was supposed to work but is not working, there is another way to implement the delete confirmation screen?
Display any error messages? If you can catch the log of the exact moment you click to delete, post to help.
– Roknauta
tries to take out the
process="@this"
from the delete button.– DiegoAugusto