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

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

Criando uma aplicação web. Parte 1

Criando uma aplicação web

1. Estrutura do Projeto (0,2) pontos

Conexão com Banco de Dados

Introdução ao Desenvolvimento de

Desenvolvimento Web III. Prof. Felippe Scheidt

Plano de Aula - Dreamweaver CS5 - cód Horas/Aula

INTRODUÇÃO À TECNOLOGIA SERVLETS

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

A figura acima mostra o script de criação do banco de dados que chamaremos de minicurso.

Dreamweaver CS5 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

INTRODUÇÃO À TECNOLOGIA SERVLETS

Manual Demoiselle Wizard CETEC/CTCTA

Desenvolvimento Web TCC Turma A-1

Java para Desenvolvimento Web Carga Horária: 40 Horas.

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV2-01. Luiz Leão

Tutorial. Concessão de Login/Perfil para usuários de outras redes de ensino ESCOLA MUNICIPAL/PRIVADA/TÉCNICA

DESPESAS Ver 1 01 de Dezembro de 2016

Manual Sistema de Gerenciamento dos Auxiliares da Justiça

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico

Engenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31!

MANUAL VTWEB CLIENT URBANO

Unidade 6: Java Server Pages Prof. Daniel Caetano

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Dreamweaver CS6 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

MANUAL VTWEB CLIENT SUBURBANO

PROCEDIMENTO DO CLIENTE

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

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

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

Plano de Aula - DreamWeaver CC - cód Horas/Aula

Fa u amen o E e ôn co CASSEMS

Padrões de codificação Java (JSF)

Aula 2 Servlets. Gustavo Wagner. Gustavo Wagner - gustavowagner.com.

SKYHUB MÓDULO GRID STUDIO ERP GRID SISTEMAS LTDA - NOV. 2017

Tutorial. Concessão de Login/Perfil para usuários de outras redes de ensino PREFEITURAS MUNICIPAIS

UNIVERSIDADE DE SÃO PAULO Sistema da Lista Telefônica. Manual do Usuário Gestor da Unidade. Março 2008 Versão 1.1

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

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

BARRA DE PESQUISA DISPONÍVEL EM LISTAGEM DE CERTIFICADOS, IMPORTAÇÃO DE DADOS E NOTIFICAÇÃO DE PARTICIPANTES

Manual Sistema de Gerenciamento dos Auxiliares da Justiça

FÓRUM. Fórum AMBIENTE VIRTUAL DE APRENDIZAGEM TUTORIAL DO. Autor(es) Natália Regina de Souza Lima, Scarlat Pâmela Silva

MANUAL PERFIL ADMINISTRADOR LOCAL

Tutorial Cold Fusion Módulo 2 Cold Fusion Brasil -

Tutorial. Concessão de Login/Perfil para usuários de outras redes de ensino SESI/SENAI/SENAC/CEFOR

1. ACESSO MENU PRINCIPAL Página Inicial Botões no Topo da Tela Campos para Exibição... 4

2ª Edição Décio Heinzelmann Luckow Alexandre Altair de Melo

Resumo de operação do site ARTESPAÇO IMÓVEIS PENÁPOLIS (admin)

PROCEDIMENTOS PARA AQUISIÇÃO

DreamweaverCC Plano de Aula - 24 Aulas (Aulas de 1 Hora).

2 Enviando arquivos para o Portal.

Visão geral do ambiente. Essa é a sua página inicial. No bloco lateral, você encontra um menu de navegação.

Este Guia fornece uma visão geral sobre o álbum de fotografias. O envio e ordenação de imagens. Versão

Sistema de Informação e Coordenação - SIC

MANUAL DE OPERAÇÃO PROFESSOR. Página Inicial

SAESP. Funcionalidade: Situação Atípica. Perfil ESCOLA Perfil Diretoria Perfil CENUT Perfil CEPAE

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico

PROPOSTA DE DESENVOLVIMENTO DE SOFTWARE

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

INSTRUÇÕES PARA CADASTRO E/OU ENVIO DE TRABALHOS

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

Manual Converte-MV S_Line

Manual Portal do Programa de Parceiros da Rede de Distribuidores Toyota

Como exportar os arquivos NFP via Web-Service - FS127

Portal de Cotação da FCC S.A.

TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL

Relaciona Multibanco 1.0

Conhecendo e editando o seu perfil

Instalação Serviço de Acompanhamento de Projeto (PCSIS007) Sistema de Gestão da Qualidade

Webmail Roundcube Tutorial -

Banco de Dados Relacionais. Eduardo Ribeiro Felipe

WebSAI anos de Avaliação Institucional

SophiA Biblioteca MÓDULO INVENTÁRIO

NAJ Sistemas em Informática LTDA.

A tela inicial do Doctor View Web é a própria agenda do profissional.

Karen Frigo Busolin Abril/2011

Ambiente Virtual de Aprendizagem

TUTORIAL COMO SUBMETER RESUMO PARA A 5ª SEMPESq

Faça seu login na página pt-br.wordpress.com. Caso ainda não tenha um login, registre-se.

SUBIR LISTAS DE S

Iniciação Científica Iniciação Tecnológica

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

Manual do Usuário RESULTWEB. Módulo Controle de acesso (Agendamento de acesso de visitantes) Versão 1.0

Sumário 1. Inicializando o Sistema Arquitetura do Sistema Consulta Rápida de Veículos Informações Gerais...

JavaServer Faces. Parte 2

Tutorial de Administração de sites do Portal C3

MANUAL DE ACESSO PORTAL DO CLIENTE CONTRATANTE DE PLANO FAMILIAR Saiba como acessar essa importante ferramenta.

Manual de operação do sistema. Cadastro Ambiental Rural. 05/2017 Versão 1.0

SAO-WEB Manual do Usuário

Manual Sistema de Automação de Pedidos Data C

Cadastro e Acesso ao Portal de Suporte da AX4B

TOTVS Manual do Usuário Intellector Portal

Manual Gestão Garantias

Formação JAVA Web.

Transcrição:

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

Criando a interface Para criar a interface utilizaremos JavaServer Faces Biblioteca PrimeFaces Documentação de PrimeFaces http://www.primefaces.org/showcase/

JavaServer Faces JavaServer Faces É um framework que tem o objetivo simplificar o desenvolvimento de interfaces para web Fornece um conjunto de componentes para interação com o usuário É baseado em eventos: o evento no cliente causa uma resposta do servidor

Aplicações web

Aplicações web com Java Uma aplicação web é um programa que fica hospedado em um servidor O usuário acessa o programa por meio do browser O acesso aos sistemas é feito utilizando o modelo request/response O cliente solicita que uma ação seja realizada(request) e o servidor a realiza e responde ao cliente (response)

Aplicações web com Java No mundo Java os servidores são chamados de Servlet Container Exemplos de servidores: Glassfish Tomcat JBoss etc

Aplicações web com Java Neste curso, utilizaremos a biblioteca de componentes PrimeFaces Utilizaremos o modelo MVC - Model - View - Controller A ideia por trás do MVC é a separação de conceitos Separa-se a informação (e regras de negócio) da interface com a qual o usuário interage

Um pouco sobre MVC

Ou...

Um pouco sobre MVC Modelo (model): dados da aplicação, regras de negócio Visão (view): camada que manipula os dados para exibição exibe os dados Controlador: faz a mediação entre o modelo e a visão (Nem todos concordam com isso...)

Vamos à prática - Uma classe do modelo Utilizaremos a classe Curso, já criada: Construtor sem argumentos Implementa a interface Serializable Atributos privados e métodos get e set para cada atributo Anotação @Entity para relacionar com uma tabela do banco Definição de uma chave primária

Vamos à prática - Uma classe do modelo

Criando o Controlador (Controller) O controlador: Implementa a interface Serializable Tem um construtor sem parâmetros Fica entre a tela e o modelo Um controlador processa as requisições do usuário e devolve as respostas

Criando o Controlador (Controller)

Criando o controle para cadastro de cursos

Criando o controle para cadastro de cursos

Cuidado com null pointer

Criando o controle Dê um nome e estabeleça o escopo

Criando o controle Nome: opcional Se não for dado, o padrão é o nome da classe com a primeira letra minúscula Escopo Tempo de vida do objeto (controlador)

Criando o controle Escopo Request: o objeto morre a cada requisição View: o objeto vive enquanto a aplicação não mudar de tela Session: enquanto durar a sessão Aplication: enquanto a aplicação estiver executando

Criando a tela Nossas telas serão criadas em xhtml Crie na pasta web do projeto (subpasta adequada) Reaproveite o esqueleto de telas É trabalhoso lembrar os detalhes Não se preocupe com aparência!! (por enquanto)

Criando a tela

Criando a tela - Arquivo xhtml

Criando um form Sempre que houver entrada de dados na tela, os campos devem estar dentro de um form

Criando um form Nosso curso tem dois atributos: codigo (atribuído automaticamente) nome Vamos criar o campo para o usuário preencher o nome do novo curso

Utilizando as tags do PrimeFaces As tags dos componentes do PrimeFaces se iniciam com <p: Um rótulo em PrimeFaces Componentes com uma linha terminam com />

Utilizando as tags do PrimeFaces Componentes com outros aninhados

Utilizando as tags do PrimeFaces Criando um campo para entrada de texto

Vinculando com o controller A vinculação com o controlador é feita por meio da linguagem EL - expression language A EL utiliza os caracteres #{ }

Componentes jsf Vamos incrementar nosso componente

Componentes jsf Vamos criar um botão de ação

Processando o evento Vamos criar um método para processar o evento gerado pelo botão

Processando o evento Vamos vincular o clique no botão ao método no controlador

Retornando mensagem Vamos adicionar um componente para exibir as mensagens

Retornando mensagem Vamos alterar o método no controlador para exibir uma mensagem ao usuário

Retornando mensagem É necessário dizer que queremos atualizar a tela (o form) após o processamento da ação relativa ao botão

Retornando mensagem É necessário dizer que queremos atualizar a tela (o form) após o processamento da ação relativa ao botão

Gerenciando Cursos (Cadastrar, Alterar, Excluir, Consultar) Já vimos como cadastrar um novo curso (inserir o objeto no banco) Agora melhorar nossa tela para listar os objetos cadastrados, bem como poder alterá-los e exclui-los Utilizaremos um componente DataTable

Listando Cursos Cadastrados Já temos o método ListarTodos( ) na classe DAO que nos retorna uma lista com todos os objetos cadastrados no banco Precisamos uma lista no controlador para receber estes objetos

Listando Cursos Cadastrados No controlador:

Listando Cursos Cadastrados No xhtml:

Listando Cursos Cadastrados Criando as colunas:

Excluindo Cursos Criando as colunas com botões de comando:

Excluindo Cursos Incrementando nosso código: confirmação

Excluindo Cursos Incrementando nosso código: criando a confirmação

Alterando Cursos Criando as colunas com botões de comando: Vamos abrir um popup para editar o curso

Alterando Cursos Veja o código no GitHub

Alterando Cursos Enquanto isso, no controlador

Navegação entre páginas Navegação por link: coloca-se o nome do arquivo xhtml <h:link outcome="cursogerenciar" value="gerenciar cursos" /> Se estiver dentro de uma pasta <h:link outcome="curso/cursogerenciar" value="gerenciar cursos" /> Para retornar ao diretório acima <h:link outcome="/index" value="sair" />

Mapeando Relacionamentos Em muitos casos, objetos estão relacionados com outros objetos No nosso exemplo, um Curso possui várias disciplinas e Disciplina pertence a um Curso Podemos mapear os relacionamentos por meio de anotações

Mapeando Relacionamentos Curso 1 n Disciplina

Mapeando Relacionamentos Um curso tem n disciplinas

Mapeando Relacionamentos Várias disciplinas pertencem a um Curso (este código pode ser visto em modelo.curso)

Mapeando Relacionamentos Fazendo isso: Quando recuperarmos (consulta) uma disciplina, ela já tem o curso correspondente Quando recuperarmos um curso, ele traz todas as disciplinas pertencentes a ele

Componentes de seleção Alguns componentes exigem um tratamento diferente, como SelectOneMenu e SelectOneRadio

Componentes de seleção Criando um SelectOneMenu O value é o objeto no controlador que contém a seleção

Componentes de seleção É preciso criar uma lista de opções (selectitem) A lista pode estar vinculada a uma lista no controlador (cursos é uma List com todos os cursos)

Componentes de seleção O itemvalue é o valor que o componente contém quando o usuário selecionar O itemlabel é o que aparecerá na tela var é uma variável para cada item da lista (você pode ver este código em curso/cursomatricular.xhtml)

Componentes de seleção No entanto: o que aparece na tela é texto Para manipularmos o item da lista como objeto é necessário criar um converter (uma classe que converte texto para objeto e objeto para texto) Um converter é uma classe que herda de Converter e implementa seus métodos abstratos

Criando um converter (você pode ver o código completo em util.cursoconverter.java)

Criando um converter Após criado, adicionamos o converter ao componente

continua...