Caixa de Mensagem em JSF + RICHFACES + AJAX

Olá pessoal,

Como eu faço para criar uma caixa de mensagem que apareça no meio da tela quando um usuário clica no botão, e ai
informa uma mensagem assim: “Cadastrado com sucesso!”.
ou um “Carregando…” quando sai da tela de login e vai para página principal.

Obrigado,

Att,

Lymoreira.

Uma maneira de fazer isso (não sei se é a melhor maneira), é usando um modalPanel.

Crie um rich:modalPanel na sua página contendo a informação que você quer exibir.

<rich:modalPanel id="mensagem">
     <h:outputText value="Cadastro Realizado com sucesso!" />
     <h:commandButton value="Fechar" onclick="javascript:Richfaces.hideModalPanel('mensagem')" />
</rich:modalPanel>

E para exibir o modalPanel basta usar, em algum evento de algum componente (possivelmente o botão de salvar) o mesmo código do “onclick” do exemplo, mas trocando o “hide” por “show”

cara,

o modal de status,

<a4j:status id="statusAguarde" onstart="Richfaces.showModalPanel('ajaxLoadingModalBox',{top:200})" 
			     							   onstop="Richfaces.hideModalPanel('ajaxLoadingModalBox')"/>
			
				<rich:modalPanel id="ajaxLoadingModalBox" autosized="true" >
				     <div class="loader">
						CARREGANDO
						<h:graphicImage id="imgLoader" value="/images/loader.gif"/>
					</div>
				</rich:modalPanel>

e para modal de mensagem

<rich:modalPanel id="mensagem">  
     <h:messages/>
     <h:commandButton value="Fechar" onclick="javascript:Richfaces.hideModalPanel('mensagem')" />  
</rich:modalPanel>

vc vai ter que colocar em cada button seu a propriedade oncomplete para abrir o modal mensagem e setar as mensagens no MB assim

facesMessages.add(Severity.INFO, "Cadastrado com sucesso!");
facesMessages.add(Severity.ERROR, "Erro ao cadastrar");

t+

e se eu quiser só printar uma mensagem na frente do campo que esá errado, como eu faço?

valeu.

ai vc vai ter que colocar um <h:message/> para cada componente.

t+

É assim mesmo a implementação do FacesMessage, porque aqui ele não aceita desse jeito?

do jeito que eu te passei, seria de uma forma global, se vc quer uma mensagem customizada para cada componente, da uma olhada nesse exemplo,
http://www.mkyong.com/jsf2/customize-validation-error-message-in-jsf-2-0/

t+