JSF Primefaces - problemas com ajax [resolvido]

Galera,

eu acho que o problema é com AJAX, mas não tenho certeza.

O que acontece é que eu tenho uma datatable com um botão pra deletar…
Abre um confirmDialog e quando clica em sim, deveria por ajax atualizar o p:dialog e atualizar o modelo.
O problema é que quando clico em sim, NADA acontece.

Me disseram que era pq o meu form estava no template. Então fiz a modificação e tirei o form do template.
Continuou com o mesmo problema. Também tentei deixar o confirm em outro form, mas também não funcionou.
Então vou postar o código da minha ultima tentativa.

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core"
	template="/templates/template.xhtml">
	<ui:define name="content">

	
                    <h:form id="mainForm">
                    <p:messages autoUpdate="true" id="msgs" showDetail="true" closable="true" showSummary="true" />
	
	<p:dataTable  <!-- codigo omitido -->
  		
              <p:column  style="width:80px">
			<p:commandButton id="edit" icon="ui-icon-pencil" action="#{grupoController.getFormPath}" ajax="false">
			<f:setPropertyActionListener value="#{entity}" target="#{grupoController.entity}" />
			</p:commandButton>
    
			<p:commandButton id="delete" icon="ui-icon-trash" onclick="confirmation.show()" type="button" >
			<f:setPropertyActionListener value="#{entity}" target="#{grupoController.entity}" />			
			</p:commandButton>
			
			    <p:tooltip for="edit" value="#{msg['button.edit']}" showEffect="clip" hideEffect="clip" /> 
			    <p:tooltip for="delete" value="#{msg['button.delete']}" showEffect="clip" hideEffect="clip" /> 								
		</p:column>
        
    </p:dataTable>    

    <!-- DIALOG -->
   <!-- Código omitido -->
</h:form>     
  
<h:form id="formDelete">
   		<!--  CONFIRM DELETE -->  
                    <p:confirmDialog message="#{msg['label.confirm.delete']}" showEffect="bounce" hideEffect="explode"  
                                     header="#{msg['label.dialog.alert']}!" severity="alert" widgetVar="confirmation"
                                     appendToBody="true">  
  
                        <h:commandButton value="#{msg['button.dialog.yes']}" oncomplete="confirmation.hide();" actionListener="#{grupoController.delete}" update=":mainForm:table"/>  

                        <h:commandButton value="#{msg['button.dialog.no']}" onclick="confirmation.hide()" type="button" />  

                    </p:confirmDialog>  
</h:form>
            
  
                 
	</ui:define>
</ui:composition>

Eis o meu actionListener:

    public void delete() {

	
	try {
	    getBaseService().delete(entity);
	    displayInfoMessageToUser("global.sucess","global.delete.sucess");
	} catch (Exception e) {
	    displayErrorMessageToUser("global.error","global.delete.error");
	    e.printStackTrace();	    
	}
	
    }

Obrigado ai galera!

Tente utilizar o elemento commandButton do primefaces, pode ser isso!

cara
vc pira que eu to quebrando cabeça com esse código
e eu n tinha reparado que não estava usando o primefaces? kkkkkkkkkkkkkk

mas de todo jeito, não funcionou. Vou debugar pra ver se o MB é chamado. logo posto o resultado

não ta chamadno o método no maganedBean…
e não mostra nenhum erro tbem.

isso me decepciona :frowning:

    The form component needs to have a UIForm in its ancestry. Suggestion: enclose the necessary components within <h:form>The form component needs to have a UIForm in its ancestry. Suggestion: enclose the necessary components within <h:form>

cara to com essa msg vinda do ui:debug.
Mas não entendi :frowning:

Tem que retina o type=“button” do botão delete.

<p:commandButton id="delete" icon="ui-icon-trash" onclick="confirmation.show()" >  
            <f:setPropertyActionListener value="#{entity}" target="#{grupoController.entity}" />            
</p:commandButton> 

Nos teste que fiz, quando utilizado o type=“button”, o f:setPropertyActionListener não seta nenhum valor no Managed Bean.

Cara
infelizmente não funcionou :frowning:

Com estou usado.

<p:commandButton icon="ui-icon-trash" id="button_delete" 
							onclick="confirmation.show()">
							<f:setPropertyActionListener value="#{bairro}"
								target="#{bairroController.bairro}" />
						</p:commandButton>
						<p:tooltip for="button_delete" value="Excluir bairro."
							showEffect="slide" hideEffect="slide" showEffectLength="350"
							hideEffectLength="350" />

<p:confirmDialog message="Deseja realmente excluir?"
			showEffect="bounce" hideEffect="explode" modal="true"
			header="Mensagem de confirmacao" severity="alert"
			widgetVar="confirmation">
			<h:form prependId="false">
				<p:commandButton value="Sim" update=":fromtable:tabela"
					oncomplete="confirmation.hide()"
					actionListener="#{bairroController.excluirLista}" />
				<p:commandButton value="Nao" onclick="confirmation.hide()"
					type="button" />
			</h:form>
		</p:confirmDialog>

Tem mais um detalhe no form o prependId=“false”.

CARAAAAAAAAAAAAAA

FUNCIONOU!

SABE QUAL ERA O PROBLEMA?

desculpa pelo caps lock… é pq fiquei empolgado aqui!
kkkkkkkkkkkkkk

o problema é que o meu h:form estava incluindo o p:confirmDialog.
e deveria conter apenas os botões.

PQP olha só!
kkkkkkkkkkkkkkkkk vlwwwwwwwwwwwwwwwww