Galera utilizo o jsf 2 com primefaces e preciso que ao carregar minha página mostre um gif enquanto não mostra minhas informações. Nessa tela tenho 3 tabelas que fazer diversas pesquisas no banco e leva aproximadamente 30segundo para carregar então enquanto ele não mostrar as tabelas gostaria de mostrar esse gif loading…
Mais nao to conseguindo, todos os eventos inclusive o onload só acontece apos a pagina estar carregada, alguem teria uma ideia pra me dar?
Mostrar loading ao carregar a página
7 Respostas
da uma olhada no primefaces.showcase, la com certeza deve ter algum componente do tipo…
Ola amigo
como o companheiro de cima disso no showcase tem alguns exemplos procure pelo ajaxStatus que bloqueia a pagina todo ou pelo BlockUI q bloqueia so o componente setado.
Abraços
Ja tentei e tbm uso em outras aplicações o ajaxStatus, porém nesse caso como a tela não é disparada por um botão tipo “salvar” que vai fazer a requisição ele não funciona no carregar a página, a página fica toda em branco, o blockUI não vi ainda vo dar uma olhada será que roda no primefaces 2? Mais devem existir outras soluções, não?
http://www.primefaces.org/showcase-labs/ui/blockUI.jsf
O blockUI so roda no primefaces 3.2 q ainda nem foi lançado a versão final porém eu já utilizo ele aqui e funciona tranquilo
Pois é não poso usar aqui na empresa o 3 ainda somente o 2, não sei mais o que fazer para colocar esse loading na página
Não sei se é viável para seu caso, mas algo que poderia fazer é exibir um dialog no onstart da chamada e ocultar o mesmo no oncomplete.
Eu uso assim:
<p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>
<p:dialog modal="true" widgetVar="statusDialog" draggable="false" closable="false" >
<p:graphicImage value="/templates/imagens/ajax.gif" />
</p:dialog>