Pessoal, estou tentando invocar um metodo do meu managedBean com PrimeFaces.ajax.AjaxRequest, mas no manual do primefaces nao mostra como especificar o metodo que eu quero acessar, alguem sabe como fazer isso?
Obrigado!
Segue o codigo que estou usando:
function ajax() {
PrimeFaces.ajax.AjaxRequest({
formId : 'myform',
source : 'myform',
process : 'myform',
update : 'myform:meuid',
params : {
'param1':'valor1',
'param2':'valor2'
},
oncomplete : function(xhr, status) {
alert('Done');
}
});
}
Pessoal, bom dia!
Consegui resolver de uma forma bem mais elegante. Usei a tag remoteCommand, ela faz exatamente o que eu queria, dispara uma chamada ajax de qualquer função javascript.
segue o código:
<p:dataTable id="tabela" value="#{contatoController.contatos}"
var="contato" rowIndexVar="row" editable="true">
<p:column>
<h:outputText value="#{row}"/>
<p:remoteCommand actionListener="#{contatoController.update}"
name="ajax#{row}" process="@form">
<f:setPropertyActionListener target="#{contatoController.contato}"
value="#{contato}" />
</p:remoteCommand>
</p:column>
<p:column>
<p:inputText id="nome" value="#{contato.nome}" />
</p:column>
<p:column>
no meu caso, basta chamar ajaxNUMERO_DA_LINHA() que a funcao eh disparada e enviado o objeto contato ao meu managedBean. ex: ajax3();
Usei o numero da linha concatenado, prq se nao ele envia sempre o ultimo elemento do dataTable.
[]'s