Boa tarde pessoal, estou com um problema quanto a reenderização de componentes do primefaces 2.2.1. Estou tentando atualizar um datatable logo após o processo de save de um objeto no banco… porém a property “update” do componente button não está funcionando ou mesmo está implementada de forma errada. Segue abaixo o trecho xhtml.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html 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.prime.com.tr/ui">
<f:view>
<h:body>
<ui:composition template="../template/Layout.xhtml">
<ui:define name="content">
<f:loadBundle basename="com.everis.epersonas.bundle.messages" var="msg"/>
<h:form id="categoriaForm">
<center>
<p:panel id="painelCadastro"
header="Cadastrar nova Categoria"
style="text-align:left;width:700px;">
<h:messages />
<h:panelGrid columns="2">
<h:outputLabel value="#{msg.nomeCategoria}" />
<p:inputText id="nome"
value="#{categoriaController.categoria.nomeCategoria}" size="45" />
<h:outputLabel value="#{msg.descricaoCategoria}" />
<p:inputText id="descricao"
value="#{categoriaController.categoria.descricaoCategoria}" size="45" />
</h:panelGrid>
<br />
<center>
<p:commandButton value="Gravar" action="#{categoriaController.salvar}" update="categoriaForm" />
<p:commandButton value="Alterar" action="#{categoriaController.alterar}" update="categoriaForm" />
<p:commandButton type="reset" value="Limpar" />
</center>
</p:panel>
<p:panel id="painelConsulta" header="Lista de objetos cadastrados"
style="text-align:left;width:700px;">
<p:dataTable value="#{categoriaController.listCategoria}" id="tabela" emptyMessage="Nenhum registro encontrado" rowIndexVar="var"
paginator="true" paginatorPosition="bottom" firstPageLinkLabel="Primeira" previousPageLinkLabel="Anterior"
nextPageLinkLabel="Proxima" lastPageLinkLabel="ultima" rows="10" var="categoria" width="600">
<p:column>
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{categoria.idCategoria}" styleClass="letra1" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{categoria.nomeCategoria}" styleClass="letra1" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Descricao" />
</f:facet>
<h:outputText value="#{categoria.descricaoCategoria}" styleClass="letra1" />
</p:column>
<p:column>
<p:commandButton value="alterar" update="painelCadastro,painelConsulta">
<f:setPropertyActionListener
target="#{categoriaController.categoria}" value="#{categoria}" />
</p:commandButton>
</p:column>
<p:column>
<p:commandButton action="#{categoriaController.excluir}"
value="excluir" update="painelConsulta" onclick="return confirm('Confirma Exclusão do Registro?')" >
<f:setPropertyActionListener
target="#{categoriaController.categoria}" value="#{categoria}" />
</p:commandButton>
</p:column>
</p:dataTable>
</p:panel></center>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</f:view>
</html>
OBS: se eu atualizo minha tela logo após o processo de save, o componente dataTable é atualizado com o novo registro.
Isto poderia ser algum problema do ajax do primefaces?
Obrigado pessoal…