Pessoal, estou precisando de um help com ajax.
Pesquisei aqui no forum e no stackoverflow também mas todos os exemplos não deram certo.
ta faltando algum detalhe que não percebi, pois o botão não executa o metodo do meu managed bean e nem debugar consigo.
abaixo ta um exemplo simples do que estou tentando fazer:
testpage.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="./template.xhtml"
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<ui:define name="body">
<h:form id="form">
<p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>
<p:panelGrid columns="2">
<f:facet name="header">
<h:outputLabel value="TEST FILTRO" />
</f:facet>
<h:outputLabel value="nome" for="descricao" />
<h:inputText id="descricao" value="#{testBean.nome}"
title="#{bundle.BancoEmpresaTitle_descricao}" />
<f:facet name="footer">
<p:commandButton type="button" value="filtra" icon="ui-icon-search"
style="margin:0" action="#{testBean.filtra(item)}"
update="tabela" >
</p:commandButton>
</f:facet>
</p:panelGrid>
<br />
<h:panelGroup rendered="#{testBean.lista.size() > 0}">
<p:dataTable id="tabela" value="#{testBean.lista}" var="item" style="border:solid 1px"
paginator="true" rows="10" paginatorTemplate="{PageLinks}" >
<p:column>
<f:facet name="header">
<h:outputText value="nome"/>
</f:facet>
<h:outputText value="#{item}"/>
</p:column>
</p:dataTable>
</h:panelGroup>
</h:form>
</ui:define>
</ui:composition>
TestBean.java
package com.igornunes.jsf.bean;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class TestBean {
private String nome;
private List lista;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public List getLista() {
return lista;
}
public void setLista(List lista) {
this.lista = lista;
}
public TestBean() {
nome = new String();
lista = new ArrayList();
lista.add("aaa");
lista.add("abc");
lista.add("123");
lista.add("456");
lista.add("qwe");
lista.add("www");
lista.add("asd");
}
public void filtra(String item){
// simula filtro
lista = new ArrayList();
lista.add("aaa");
lista.add("abc");
lista.add("123");
lista.add("456");
}
}
desde já agradeço a ajuda.