Exibindo barra de progresso com JSF e Primefaces

Documentos relacionados
Primefaces 3. Laboratório Passo-a-Passo. JSF - Primefaces. Prof. Leandro Rubim de Freitas Versão 1.

PROGRAMAÇÃO SERVIDOR MIDDLEWARE JDBC: USANDO O JAVA DB EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Introdução ao ASP.NET

Tutorial 1 Configuração Apache Tomcat no NetBeans 8.0 (passo a passo)

Laboratório Configuração do Backup e da Restauração de Dados no Windows 7 e no Vista

Soluções. Unidade: Vendas C/R Tópico: CRM

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROGRAMAÇÃO PARA INTERNET TUTORIAL DE APLICAÇÃO JSF DESENVOLVIDO COM A FERRAMENTA ECLIPSE LUNA

Introdução. Componentes básicos. Componentes avançados. PrimeFaces. Prof. Enzo Seraphim

Laboratório opcional: Backup de dados e restauração no Windows 7

Sistemas Comerciais Java EE com CDI, JPA e PrimeFaces

Itens e depósitos Soluções

COMO INSTALAR O CATÁLOGO

Tabela Dinâmica. Curso: Engenharia de Produção Disciplina: Informática Aplicada a Engenharia Professor: Rodrigo da Rocha

Como abrir arquivo XML no Excel

Unidade: Ferramentas de configuração Tópico: Tabelas e campos definidos pelo usuário

Continuação... Criando a Interface e adiante

Solicitar Portabilidade

Ajuste de Estoque. Para realizar o ajuste do estoque proceda da seguinte forma:

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

JAVA. Professor: Bruno Toledo

Assina Web S_Line Manual de Uso

Manual de Versão Sistema Condomínio21

INTRODUÇÃO À TECNOLOGIA SERVLETS

Noções básicas do SAP Business One Tópico: Cadastro e documentos

Ferramenta 1 -NetBeans 8.0

MANUAL DE GESTÃO DO CONTEÚDO DO PORTAL DA UTFPR COORDENAÇÕES DAS GRADUAÇÕES

Sistema de Atendimento a Chamados e Suporte

COMO CRIAR PEDIDOS A PARTIR DA CESTA DE PRODUTOS

Instalação ou Atualização do Aplicativo GigaERP (procedimento via instaladores)

Continuação... Criando a Interface e adiante

Ferramentas de configuração: Soluções

Consolidar dados de várias planilhas em uma única planilha

X-RiteColor Master Web Edition

Elaboração de Provas Online usando o Formulário Google Docs

Manual Coleção Interativa Papel Professor Versão 2.5.3

Java Swing: Netbeans

Introdução ao ASP.NET

Software Aplicativo LibreOffice Writer 5.1 Mala Direta para

Manual de atualização para uso do xml versão 3.10

Informática. LibreOffice Impress. Professor Márcio Hunecke.

Manual Gerenciador de Aprendizagem Papel Professor Versão 2.5.3

Criando um site de Notícias - com Administração de Dados

Boletim Técnico. Nota Fiscal Eletrônica CAEA Argentina PROCEDIMENTO PARA IMPLEMENTAÇÃO

Manual de Utilização

Configurar Thin Client X1 e X1W

Tutorial SQL Server 2014 Express

Dreamweaver CS5 -5- CAPÍTULO 1... Iniciando e conhecendo o dreamweaver...8 Interfaces...23 Criando e confi gurando sites...24 Exercícios...

CAPÍTULO 21 Integração do Dreamweaver com outros aplicativos

Programação para Web I Desenvolvendo templates com Facelets. Prof. Eder de Lima Lacerda

Lojamundi Tecnologia Sem Limites br

Noções básicas do SAP Business One Tópico: Guia de introdução

Procedimentos para Atualização Sisloc

Manual do Usuário. Cartosoft - Recibo de Envio de Selos Eletrônicos

POO Documentation. Release 1.0. Felipe Dau e Francisco Pereira Junior

Sistema NetConta I - Guia de Referência

Como consultar produtos

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Manual de Instalação Recuperação Fiscal

Dados dinâmicos em um relatório de Tabela Dinâmica ou de Gráfico

Curso/Disciplina: Informática para Concursos Aula: Excel - 20 Professor(a): Marcelo Nascimento Monitor(a): Sarah Padilha Gonçalves. Aula nº.

As informações apresentadas neste boletim são válidas para ambientes com o Portal Plano de Saúde previamente instalado e configurado.

Biblioteca de Componentes JSF para Interfaces Ricas

COMO INSTALAR O CATÁLOGO

(INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA)

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela.

Nova rotina Árvore Lógica

Utilização do Fiery WebSpooler

MANUAL VTWEB CLIENT SUBURBANO


Netbeans 8.1 (Ubuntu / Mint / Debian)

Manual para atualização do portal do CNPq - versão 1.0 Parcerias

Agendamento de Entregas

INTRODUÇÃO À TECNOLOGIA SERVLETS

Processo de atualização para NFe 4.0

MANUAL SUAP PROCESSOS ELETRÔNICOS. DTI Dezembro 2017 (Atualizado em Março 2018)

Computação II MAB EPT/EP1. Interface Gráfica - Tkinter. Brunno Goldstein.

Lab - Backup e Recuperação no Windows XP

Sumário. 1- Notícias. 1.1 Publicando uma nova notícia Blocos de edição

JSP (JAVASERVER PAGES)

Desenvolvimento Web. HTML 5 Parte I. Prof. Vicente Paulo de Camargo

Adicionar uma figura, como um botão Submeter, a um formulário

Manual do Usúario Vivo Sync. Manual do Usuário. Versão Copyright Vivo

Procedimento para Configuração Exchange de Duas Contas de no Mesmo Perfil do Outlook

Manual de Instalação de base de dados TOTVS Série 1 Saúde (Personal Med)

SISTEMA ADM ERP - MANUAL DO USUÁRIO. Conceitos Básicos

Apostila - Desenvolvimento web com PHP

MANUAL DO INSTALADOR DE CURSOS VERSÃO

TUTORIAL DO BLOG IMES-CATANDUVA Profº M. Sc. Marcelo Mazetto Moala Profº Esp. Antonio Marcio Paschoal

INSTRUÇÃO DE TRABALHO

MANUAL DO INSTALADOR DE CURSOS VERSÃO (64 bits) - BETA

MANUAL DO PREPARA UPDATE VERSÃO

- Soluções. Tópico: Notas de crédito e cancelamentos

Módulo de Correios Offline & Online para Magento 2

Cadastrar Grupos de Pesquisa

Redes de Computadores I Seminário Novas Tecnologias em Redes HTML5. Jessica da Silva Hahn Letícia Aparecida Coelho

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER utilizando o Eclipse Galileo Modelling Tools

Transcrição:

Exibindo barra de progresso com JSF e Primefaces O PrimeFaces possui o componente prorgressbar, onde exibe uma barra de progresso enquanto um método é executado,sendo possível mostrar o status do progresso em percentual e mensagens para o usuário ver o que esta ocorrendo. Utilizar esse componente é interessante pois o usuário que acionou o método percebe que o sistema de fato esta fazendo algo. Criei um exemplo com: Javaserver Faces - Mojarra 2.2.13 PrimeFaces 6.0 Apache Tomcat 8.0.27 Maven 3.3 JDK 8.0.101 Java EE 7 Netbeans 8.1 O exemplo a seguir ira processar uma quantidade de notas definido pelo usuário, o progressbar ira mostrar o percentual de notas já processada e informando qual nota esta no momento da ação,após a ação uma tabela ira ser apresentada com as notas processadas e um botão de cancelar notas estará visível fazendo o mesmo processo com o progressbar porem limpando a lista de notas. Crie um projeto no Netbeans, na categoria Maven>Aplicação Web;

de nome ao projeto; Selecione o servidor Apache Tomcat 8.0.27 e a especificação Java EE 7 Web; E clique em finalizar.

Com o projeto criado vá em Propriedades>Frameworks e clique em adicionar e selecione a opção Java Server Faces; Defina a extensão que ira ser usada pelo JavaServer Faces,eu prefiro usar o.jsf ;

Marque a opção do PrimeFaces e clique em OK; No projeto em Arquivos do Projeto abra o pom.xml E configure o da seguinte forma:

Expanda a pasta Paginas Web e exclua os arquivo índex.html e welcomeprimefaces.xhtml, mantendo apenas o índex.xhtml para o exemplo.no pacote do projeto crie a classe ExemploBean, a estrutura do projeto ficara da seguinte forma:

Agora vamos codificar a classe ExemploBean que será do tipo ViewScoped, onde os dados são mantidos enquanto não houver troca ou atualização de pagina, que será responsável em processar as notas,atualizar o progressbar, atualizar a mensagem de erros e de informação ao usuário.

A classe contem 4 variáveis e 5 métodos: 1. progresso = valor entre 0 a 100 que será usado no progressbar; 2. mensagem = mensagem de notas sendo processadas ou canceladas ; 3. quantidadenotas = quantidade de notas que o usuário informou; 4. notas = lista de notas processadas; init() = atribui valores para quantidade e notas na renderização da pagina criarmensagem(string texto) = cria uma mensagem que será exibida para usuário através do componente p:messages,onde texto é a mensagem informada resetarprogresso() = reseta o progresso e a mensagem do progressbar atualizarprogresso(int i) = atualiza o progresso,onde i é posição da nota na lista processarnotas(int acao)= processa as notas,podendo ser adicionadas ou canceladas, onde ação sendo 1 as notas serão processadas, 2 as notas serão canceladas e3 as notas serao processadas porem ira ocorrer um erro.

No arquivo index.xhtml estão os componentes de PrimeFaces e JavaServer Faces,e são eles:

h:form =formulário do jsf p:messages = mostra mensagens criada pelo facesmessage o atributo closable=true significa que será possível fechar a mensagem; p:outputlabel = label usado para relacionar com input text; o atributo for="qtd" corresponde ao id do inputtext; o atributo rendered="#{exemplobean.notas.size() eq 0}" significa que esse label so será mostrado se a lista de notas estiver vazia; p:inputtext= campo usado para digita quantidade de notas; o atributo required="true" torna obrigatório a informação dele; f:validatelongrange =faz validação no inputtext onde o valor minimum="1" e maximum="1000"; p:commandbutton =botão que chama um método da classe; o atributo onclick="pf('pb').start();pf('poll').start();" inicia o progressbar e o atualizador da mensagem; o atributo onstart="pf('dlg').show()" exibite a janela do progressbar,; o atributo oncomplete="pf('dlg').hide();pf('pb').cancel();pf('poll').stop();" após a finalização do método ira fechar a janela,cancelar o progressbar e para o atualizador de mensagem; o atributo update=":form :prg" atualiza os dois forms da pagina; o atributo actionlistener="#{exemplobean.processarnotas(1)}" aciona o método de processarnotas da classe sendo que o parâmetro 1 significa ira processar notas,parâmetro 2 ira cancelar as notas e 3 ira processar as notas porem com erro. p:datatable =lista de notas processadas após a conclusão do método; o atributo value="#{exemplobean.notas}" é a lista de notas; o atributo var="n" é o apelido para represetar uma nota da lista,; o atributo scrollable="true" define que ultrapassando a largura e altura definidas um scroll devera ser inserido; o atributo scrollheight="400" define o altura máxima antes do scroll,; o atributo paginator="true" define que ira paginar a lista; o atributo rows="30" define que ira mostrar cada 30 registro por pagina; o atributo rendered="#{exemplobean.notas.size() gt 0}" define que datatable ira ser mostrado se a lista de notas não estiver vazia.

f:facet = exibe um cabeçalho para a lista de notas; o atributo name="header" significa que o texto será exibido como cabeçalho; p:column = coluna do datatable; o atributo headertext="numero" é o cabeçalho da coluna; p:dialog = janela do progressbar e atualizador de mensagem,; o atributo widgetvar="dlg" define um nome para ser usado em funções javascript; o atributo appendto="@(body)" faz com que a janela esteja acima do body do HTML; o atributo modal="true" desabilita ao cesso aos componentes atrás da janela,; o atributo width="400" define a largura da janela, o atributo height="100" define a altura da janela; o atributo header="progresso" define o cabeçalho da janela; o atributo draggable="false" define que a janela não poderá será arrastada; o atributo closable="false" define que a janela não terá opção de fechar; o atributo closeonescape="false" define que a janela não terá opção de fechar pela tecla esc; o atributo resizable="false" define que a janela não poderá ser redimensionada; o atributo minimizable="false" define que a janela não pode minimizada; p:poll =atualiza um componente de tempo em tempo; o atributo interval="1" define que o componente declarado em update será atualizado em 1 segundo; o atributo widgetvar="poll" define o nome para ser usado em funções javascript,; o atributo autostart="false" desabilita o atutostart do poll; o atributo async="true" define que as requisicoes não será enfileiradas,; o atributo update=":prg:msg" define o componente que será atualizado; o atributo immediate="true" define que não haverá validações no formulário quando o poll for executado h:outputtext =saída comum de texto do jsf p:progressbar = componente responsável pelo progresso do método; o atributo widgetvar="pb" identifica o componente para serpor funções javascript,; o atributo ajax="true" garante que a atualização do progresso será via Ajax; o atributo labeltemplate="{value}%" formata a visualização do progresso; o atributo styleclass="animated" define que a barra ira ser animada,; o atributo global="false" define que o progressbar não é global.

Com isso você viu como usar o progressbar do primefaces para mostrar informação enquanto um método esta em execução, pode substituir o método processarnotas por qualquer outro que esteja acessando o banco de dado,consumindo um WebService e etc. GitHub: sera postado Video: sera postado Fontes: http://www.primefaces.org/showcase/ui/misc/progressbar.xhtml https://netbeans.org/kb/docs/javaee/maven-primefaces-screencast.html