e necessarioantes que toda a arvore de objetos do JSF seja atualizada;pouco feedback (mensagens de retorno) ao usuario sobre ocarregamento ou gravacao dos dados.A solucao:Visando sanar a todos estes problemas, eis aqui uma solucaopasso-a-passo a que cheguei a conclusao, apos pesquisar alguns metodos. Dareium exemplo de alteracao de uma determinada data, mediante digitacao dajustificativa pelo usuario:Passo 1: incluir achamada no evento que abrira a modal da seguinte forma:<a4j:commandLink value="#{msgs.comando_geral_alterar}" actionListener="#{meuManagedBean.exibirAlteracao}" onclick="Richfaces.showModalPanel('painelAlteracaoDados');" reRender="painelDadosAlteracao" ajaxSingle="true"></a4j:commandLink>Neste caso estou chamando o Managed Bean, como "meuManagedBean", no qual tera a acao ajax a serexecutada, confome colocado no atributo "actionListener". A modal abrira instantaneamentecom o evento onclick, que chamara um javascript para abrir a modal que chameide "painelAlteracaoDados". O atributo reRender,renderizara o painel que esta dentro da modal "painelDadosAlteracao" com o resultado da busca ajax. Conforme codigo do proximo passo abaixo. Passo 2: criar amodal como um componente:<?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:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"><ui:composition> <rich:modalPanel id="painelAlteracaoDados" autosized="true" zindex="2000"> <f:facet name="header"> <h:panelGroup> <h:outputText value="#{msgs.nome_tela_altera_dados}" /> </h:panelGroup> </f:facet> <f:facet name="controls"> <h:panelGroup> <a4j:ajaxCommandButton id="hideImageAlteracaoDados" immediate="true" ajaxSingle="true" image="/imagens/close.png" action="#{CotacaoBean.alterarDisplayModalAlteracaoDados}"/> <rich:componentControl for="painelAlteracaoDados" attachTo="hideImageAlteracaoDados" operation="hide" event="onclick"/> </h:panelGroup> </f:facet> <rich:panel id="painelDadosAlteracaoDados" rendered="${rendered}"> <h:form id="formularioAlteracaoDados"> <a4j:region id="processamentoModalDados"> <h:panelGrid columns="2" width="100%"> <a4j:calendar id="dataAlteracao" value="#{meuManagedBean.data}" datePattern="dd/MM/yyyy HH:mm" enableManualInput="true" /> <a4j:inputTextarea id="justificativaAlteracaoDados" value="#{meuManagedBean.justificativa}" /> </h:panelGrid> <rich:messages style="color:darkred" id="mensagemErroAlteracaoDados" /> <h:inputHidden id="idAlteracao" value="#{meuManagedBean.id}" /> <a4j:ajaxCommandButton id="saveButtonAlteracaoDados" reRender="painelDadosAlteracaoDados, mensagemModal" value="#{msgs.comando_geral_salvar}" action="#{meuManagedBean.alterarDados}" ajaxSingle="true" process="dataAlteracao, justificativaAlteracaoDados,idAlteracao" /> <a4j:ajaxCommandButton id="hideButtonAlteracaoDadosCancelar" value="#{msgs.comando_geral_fechar}" action="#{meuManagedBean.alterarDisplayModalAlteracaoDados}"ajaxSingle="true" immediate="true" /> <rich:componentControl for="painelAlteracaoDados" attachTo="hideButtonAlteracaoDadosCancelar" operation="hide" event="onclick" /> <a4j:status> <f:facet name="start"> Salvando... </f:facet> </a4j:status> </a4j:region> </h:form> </rich:panel> </rich:modalPanel></ui:composition></html>Repare que estou criando a modal como um"ui:composition" para que a mesma seja um componente do Facelets. A renderizacao da data a ser alterada, se dara na regiaodemarcada pela tag "a4j:region". Isto indica ao JSF que nao e necessariocarregar toda a arvore de componentes uma vez que a modal ja esta aberta, massomente deve recarregar o que nos interessa: os campos que foram populados pelarequisicao ajax.Foi utilizado tambem a tag "a4j:status"para que, enquanto o salvamento das informacoes e processado, exiba a mensagem"salvando..." ao usuario.Repare que o controle do carregamento das informacoes efechamento da modal se da pelo atributo "rendered"colocado no painel que circunda todo o conteudo da modal. O que indicara entaose a modal recarregara os dados (rendered="true") ou se fechara apostudo ser salvo com sucesso (rendered="false") e uma variavel booleanaque o metodo ajax do Managed Bean alterara. O codigo do metodo do Managed Beanesta no passo 4.O outro componente citado pelo reRender, "mensagemModal", nada mais e que outra modalcriada apenas para exibir mensagens de sucesso ao usuario apos esta modalprincipal se fechar. Voce pode substitui-la por uma regiao da pagina principal(a chamadora) que exibira sua mensagem.Passo 3: incluir oseguinte codigo que monta o componente modal, na mesma tela do evento chamador: <componente:alteraDadosModal rendered="${meuManagedBean.displayModalAlteracaoDados}" /> O "displayModalAlteracaoDados" e a variavel booleana de controle da exibicao, de que comenteianteriormente. Ela e controlada pelos metodos seguintes.Passo 4: os metodos de abertura e processamento doManaged Bean: public void exibirAlteracaoDados(ActionEvent event) { setData(dataService.buscarData()); this.setDisplayModalAlteracaoVencimento(true); } public void alterarDados(ActionEventevent) { dataService.salvarAlteracao(id, data, justificativa); this.setMensagem(TIPO_MENSAGEM_MODAL, ALTERACAO_VENCIMENTO_SUCESSO); this.setDisplayModalAlteracaoVencimento(false);} Bom, e isto. Espero que esteexemplo e explicacoes sejam uteis aos programadores que estiverem necessitandoutilizar