18
Laboratório 04 de Programação VI Professor Everson Mauda Valor: 1 ponto Quantidade de Integrantes para realizar o trabalho Este laboratório deverá ser realizado com a mesma dupla do Laboratório 2. O objetivo final desta disciplina é criar um software na linguagem de programação Java que possua todos os itens básicos de um software de mercado. Dessa forma esse semestre será criado um sistema chamado TicketsEventosBSI, o qual será responsável por gerenciar a criação e venda de tickets para eventos. Especificação do Laboratório para a Camada View – Parte 1 O objetivo deste laboratório será a criação da interface gráfica utilizando o framework do Java Server Faces. Para iniciar será necessário realizar o download do Servidor JBoss e configurá-lo dentro do Eclipse. Existe um documento chamado configuração de um Projeto JSF que possui os passos para realizar essa configuração. Um ponto a ser citado é a utilização dos componentes da biblioteca Prime Faces. Existem diversos componentes disponíveis para serem utilizados nas telas do Projeto. Para ver em mais detalhes os componentes é necessário acessar o Show Case do Prime Faces na http://www.primefaces.org/showcase/ A maioria das telas a serem criadas nesse projeto serão do estilo CRUD, ou seja, deverão realizar o cadastro, edição, remoção e busca de uma entidade ou conjunto de entidades. Além disso cada CRUD será dividido em duas telas. A primeira tela consiste em um filtro de informações sobre uma entidade e um result set com os resultados da pesquisa realizada sobre o filtro. A partir da seleção de uma das linhas é possível acessar as opções de edição e remoção. Independente do filtro é possível cadastrar uma entidade a qualquer momento. As funcionalidades de inserção, edição e remoção são realizadas na segunda tela. Essa segunda tela terá os campos necessários para realizar essas operações. Dependendo da funcionalidade alguns dados e informações deverão ser preenchidas ao carregar a tela. Cada uma das telas terá um ManagedBean, assim para criar um CRUD completo deverão haver 2 MBs. Todos os MBs deverão estar no seguinte pacote: - br.pucpr.bsi.prog6.ticketsEventosBSI.view.mb Todas as páginas XHTML deverão estar na pasta: - src > main > webapp > paginas Existem vários recursos que podem ser utilizados, como CSS, Imagens e arquivos Java Script - src > main > webapp > resources > css - src > main > webapp > resources > images

Laboratório 04

Embed Size (px)

DESCRIPTION

Laboratório 04 de Programação VI

Citation preview

Page 1: Laboratório 04

Laboratório 04 de Programação VI

Professor Everson Mauda Valor: 1 ponto

Quantidade de Integrantes para realizar o trabalho

Este laboratório deverá ser realizado com a mesma dupla do Laboratório 2.

O objetivo final desta disciplina é criar um software na linguagem de programação Java que possua todos

os itens básicos de um software de mercado. Dessa forma esse semestre será criado um sistema chamado

TicketsEventosBSI, o qual será responsável por gerenciar a criação e venda de tickets para eventos.

Especificação do Laboratório para a Camada View – Parte 1

O objetivo deste laboratório será a criação da interface gráfica utilizando o framework do Java Server

Faces. Para iniciar será necessário realizar o download do Servidor JBoss e configurá-lo dentro do Eclipse.

Existe um documento chamado configuração de um Projeto JSF que possui os passos para realizar essa

configuração.

Um ponto a ser citado é a utilização dos componentes da biblioteca Prime Faces. Existem diversos

componentes disponíveis para serem utilizados nas telas do Projeto. Para ver em mais detalhes os

componentes é necessário acessar o Show Case do Prime Faces na http://www.primefaces.org/showcase/

A maioria das telas a serem criadas nesse projeto serão do estilo CRUD, ou seja, deverão realizar o

cadastro, edição, remoção e busca de uma entidade ou conjunto de entidades. Além disso cada CRUD será

dividido em duas telas. A primeira tela consiste em um filtro de informações sobre uma entidade e um

result set com os resultados da pesquisa realizada sobre o filtro. A partir da seleção de uma das linhas é

possível acessar as opções de edição e remoção. Independente do filtro é possível cadastrar uma entidade

a qualquer momento.

As funcionalidades de inserção, edição e remoção são realizadas na segunda tela. Essa segunda tela terá os

campos necessários para realizar essas operações. Dependendo da funcionalidade alguns dados e

informações deverão ser preenchidas ao carregar a tela. Cada uma das telas terá um ManagedBean, assim

para criar um CRUD completo deverão haver 2 MBs.

Todos os MBs deverão estar no seguinte pacote:

- br.pucpr.bsi.prog6.ticketsEventosBSI.view.mb

Todas as páginas XHTML deverão estar na pasta:

- src > main > webapp > paginas

Existem vários recursos que podem ser utilizados, como CSS, Imagens e arquivos Java Script

- src > main > webapp > resources > css

- src > main > webapp > resources > images

Page 2: Laboratório 04

Configuração do Servidor JBoss dentro da IDE Eclipse

Para realizar a configuração do servidor JBoss dentro da IDE Eclipse, favor verificar o seguinte tutorial

http://www.mauda.com.br/?p=606

O Fluxo Básico de uma Requisição no Projeto:

1. O Usuário acessa uma determinada funcionalidade do sistema na página XHTML que está

renderizada em seu Browser.

o Exemplo: Clica no botão Salvar da página manterCiaAerea.jsf

2. O Sistema, através da biblioteca JSF, chega a um método Action de um ManagedBean, o qual é o

correspondente do que está codificado na ação da funcionalidade clicada pelo Usuário.

o Exemplo: A página XHTML manterCiaAerea.jsf, através da biblioteca JSF, chama o método

salvar() do ManagedBean chamado ManterCiaAereaMB.

3. O Sistema, através do método action do MB, obtém uma instância do Business Controller o qual

deseja realizar uma ação de validação.

o Exemplo: O ManagedBeanManterCiaAereaMB, obtém a instância da classe CiaAereaBC,

através do método getInstance() e com a instância chama os métodos

validateForDataModification(CiaAerea) einsert(CiaAerea)

4. O Sistema, através do método da Business Controller, obtém uma instância do Data Access Object

o qual deseja realizar uma ação no Banco de Dados.

o Exemplo: A Business ControllerCiaAereaBC, obtém a instância da classe CiaAereaDAO,

através do método getInstance() e com a instância chama o método persist(CiaAerea)

5. Ao persistir os dados, o fluxo de execução retornará da classe DAO para a classe BC, e da classe BC

para a classe MB, o qual irá atualizar certas informações para serem renderizadas novamente na

tela e retornar o fluxo de execução para o JSF.

Page 3: Laboratório 04

Especifição das Telas

Como já explicado anteriormente deverão ser criadas 2 telas para cada CRUD necessário. Essas telas são

compostas de ManagedBeans e ainda é necessário escrever as frases de português e inglês para a

internacionalização do sistema. O layout da tela é definido no arquivo layoutTeste.xhtml

Todos os labels do sistema estão definidos no arquivo Arquivo de Labels do Sistema.docx

A nossa tela principal terá o seguinte formato:

1. Menu do Sistema

a. Todos os itens do menu deverão ser cadastrados a partir da página menu.xhtml

2. Idiomas do Sistema

a. Os idiomas possíveis no sistema são o português e o inglês. Todas os labels e mensagens

deverão ser cadastrados nos arquivos messages_pt_BR.properties e

messages_en_US.properties

3. Rodapé

a. Deverá ser inserido os nomes dos alunos que estão realizando o trabalho

4. Tela atual do Sistema

a. Representa a tela em execução no momento pelo usuário

1 2

3

4

Page 4: Laboratório 04

CRUD Artista - Tela 1 - Tela pesquisarArtista.xhtml

Tela responsável por realizar a pesquisa de Artistas. Ela possui um filtro de pesquisa com o campo nome,

onde é necessário digitar um nome para realizar a pesquisa a partir do botão Pesquisar. Caso o campo

nome não esteja preenchido será apresentada a mensagem ER0001.

Após realizar a pesquisa a informação retornada é exibida em um dataTable, o qual retorna 3 botões com

ações para serem realizadas ao selecionar uma linha. Caso uma linha não seja selecionada será

apresentada a mensagem ER0002. Essas ações irão redirecionar o usuário para a Tela 2 – Tela

manterArtista, a qual terá certas características de acordo com a funcionalidade escolhida.

Tela 1 – Pesquisar Artista Tela 1 – Pesquisar Artista após a pesquisa

O filtro de pesquisa dessa tela é composto pelos seguintes campos:

Nome

ID nomeArtista

idLabel Nome

Componente JSF p:inputText

Tipo Alfanumérico (AN)

Tamanho 50

Máscara Texto à esquerda

Obrigatório Sim

Regra Validação Não possui

Page 5: Laboratório 04

Essa tela é composta pelos seguintes botões:

ID idLabel

Evento no MB

PesquisarCiaAereaMB

Ajax Tela Destino

btnEditar editar editar() N manterArtista

btnExcluir excluir excluir() N manterArtista

btnPesquisar pesquisar pesquisar() S Mesma Tela

btnVisualizar visualizar visualizar() N manterArtista

Essa tela é composta por um dataset que contém os seguintes campos:

Campo Tipo Tam Máscara

Nome do Artista AN 50 Centralizado

CRUD Artista - Tela 2 - Tela manterArtista.xhtml

Tela responsável por realizar as operações de Crud sobre uma instância da classe Artista. Essa tela pode ser

utilizada tanto para visualizar informações de um Artista, quanto para preencher/editar informações deste.

Essa tela possui um campo nome. Existe um botão Salvar, que irá realizar a operação correspondente ao

estado da tela, inserir, atualizar, deletar. Esse botão não deve aparecer quando a operação for de

visualização. Caso o usuário tente salvar um artista sem preencher os campos obrigatórios o sistema

deverá exibir as mensagens de acordo com as regras de validação do Laboratório 1 camada de Business

Controller.

Além disso existe outro botão, Voltar, o qual não deve realizar a ação desejada da tela e retornar para a

tela de pesquisarArtista. Ao retornar, a tela deve estar com o mesmo filtro e busca por resultados,

simulando assim que o usuário entrou na tela, realizou a edição e retornou para a tela de pesquisa com a

mesma pesquisa feita anteriormente, sem perda de informações. Essa tela será composta pelos seguintes

campos:

Nome

ID nomeArtista

idLabel Nome

Componente JSF p:inputText

Tipo Alfanumérico

Tamanho 50

Máscara Texto à esquerda

Obrigatório Sim

RegraValidação Não possui

Page 6: Laboratório 04

Tela 2 – Manter Artista ao clicar na opção Artista > Cadastrar

Essa tela é composta pelos seguintes botões:

ID idLabel

Evento no MB

ManterArtistaMB

Ajax Tela Destino

btnSalvar salvar salvar() N pesquisarArtista

btnVoltar Voltar voltar() N pesquisarArtista

CRUD Diretor - Tela 3 - Tela pesquisarDiretor.xhtml

Tela responsável por realizar a pesquisa de Diretores. Esta tela possui um filtro de pesquisa com o campo

nome, onde é necessário digitar um nome para realizar a pesquisa a partir do botão Pesquisar. Caso o

campo nome não esteja preenchido será apresentada a mensagem ER0001.

Após realizar a pesquisa a informação retornada é exibida em um dataTable, o qual retorna 3 botões com

ações para serem realizadas ao selecionar uma linha. Caso uma linha não seja selecionada será

apresentada a mensagem ER0002. Essas ações irão redirecionar o usuário para a Tela 4 – Tela

manterDiretor, a qual terá certas características de acordo com a funcionalidade escolhida.

Tela 3 – Pesquisar Diretor Tela 3 – Pesquisar Diretor após a pesquisa

Page 7: Laboratório 04

O filtro de pesquisa dessa tela é composto pelos seguintes campos:

Nome

ID nomeDiretor

idLabel Nome

Componente JSF p:inputText

Tipo Alfanumérico (AN)

Tamanho 50

Máscara Texto à esquerda

Obrigatório Sim

Regra Validação Não possui

Essa tela é composta pelos seguintes botões:

ID idLabel

Evento no MB

PesquisarDiretorMB

Ajax Tela Destino

btnEditar editar editar() N manterDiretor

btnExcluir excluir excluir() N manterDiretor

btnPesquisar pesquisar pesquisar() S Mesma Tela

btnVisualizar visualizar visualizar() N manterDiretor

Essa tela é composta por um dataset que contém os seguintes campos:

Campo Tipo Tam Máscara

Nome do Diretor AN 50 Centralizado

CRUD Diretor - Tela 4 - Tela manterDiretor.xhtml

Tela responsável por realizar as operações de Crud sobre uma instância da classe Diretor. Essa tela pode

ser utilizada tanto para visualizar informações de um Diretor, quanto para preencher/editar informações

deste. Essa tela possui um campo nome. Existe um botão Salvar, que irá realizar a operação

correspondente ao estado da tela, inserir, atualizar, deletar. Esse botão não deve aparecer quando a

operação for de visualização. Caso o usuário tente salvar um diretor sem preencher os campos obrigatórios

o sistema deverá exibir as mensagens de acordo com as regras de validação do Laboratório 1 camada de

Business Controller.

Page 8: Laboratório 04

Além disso existe outro botão, Voltar, o qual não deve realizar a ação desejada da tela e retornar para a

tela de pesquisarDiretor. Ao retornar, a tela deve estar com o mesmo filtro e busca por resultados,

simulando assim que o usuário entrou na tela, realizou a edição e retornou para a tela de pesquisa com a

mesma pesquisa feita anteriormente, sem perda de informações.

Tela 4 – Manter Diretor ao clicar na opção Diretor > Cadastrar

Essa tela será composta pelos seguintes campos:

Nome

ID nomeDiretor

idLabel Nome

Componente JSF p:inputText

Tipo Alfanumérico

Tamanho 50

Máscara Texto à esquerda

Obrigatório Sim

RegraValidação Não possui

Essa tela é composta pelos seguintes botões:

ID idLabel

Evento no MB

ManterDiretorMB

Ajax Tela Destino

btnSalvar salvar salvar() N pesquisarDiretor

btnVoltar Voltar voltar() N pesquisarDiretor

Page 9: Laboratório 04

CRUD Cliente - Tela 5 - Tela pesquisarCliente.xhtml

Tela responsável por realizar a pesquisa de Cliente. Ela possui os campos nome, email, usuário, código,

cidade e estado. É necessário preencher algum dos campos para realizar a pesquisa a partir do botão

Pesquisar. Caso contrário, será apresentada a mensagem ER0001.

Após realizar a pesquisa a informação retornada é exibida em um dataTable, o qual retorna 3 botões com

ações para serem realizadas ao selecionar uma linha. Caso uma linha não seja selecionada será

apresentada a mensagem ER0002. Essas ações irão redirecionar o usuário para a Tela 6 – Tela

manterCliente, a qual terá certas características de acordo com a funcionalidade escolhida.

Tela 7 – Pesquisar Cliente

Tela 7 – Pesquisar Cliente após a pesquisa

Page 10: Laboratório 04

Essa tela é composta pelos seguintes campos:

Nome Email Usuário Código Cidade Estado

ID Nome email usuario codigo cidade estado

idLabel Nome email usuario codigo cidade estado

Componente JSF p:inputText

Tipo Alfanumérico

Tamanho 50 50 15 10 50 50

Máscara Texto à esq.

Obrigatório Ao menos um dos 6 campos deve ser preenchido

Regra Validação Não possui E-mail válido Não possui

Essa tela é composta pelos seguintes botões:

ID idLabel

Evento no MB

PesquisarClienteMB

Ajax Tela Destino

btnEditar editar editar() N manterCliente

btnExcluir excluir excluir() N manterCliente

btnPesquisar pesquisar pesquisar() S Mesma Tela

btnVisualizar visualizar visualizar() N manterCliente

Essa tela é composta por um dataset que contém os seguintes campos:

Campo Tipo Tam Máscara

Nome do Cliente AN 50 Centralizado

Email do Cliente AN 50 Centralizado

Papel do Cliente AN 50 Centralizado

Cidade / Estado AN 50/50 Centralizado

Page 11: Laboratório 04

CRUD Funcionário - Tela 6 - Tela manterCliente.xhtml

Tela responsável por realizar as operações de Crud sobre uma instância da classe Cliente. Essa tela pode ser

utilizada tanto para visualizar informações sobre um Cliente, quanto para preencher/editar informações

deste. Ela possui os campos:

O nome do cliente

O email do cliente

O telefone do cliente

A data de Nascimento do cliente

O usuário do cliente

A senha do cliente

O documento do cliente

O número do cartão do cliente

A rua do endereço

O número do endereço

O complemento do endereço

O bairro do endereço

A cidade do endereço

O estado do endereço

O país do endereço

Existe um botão Salvar, que irá realizar a operação correspondente ao estado da tela, inserir, atualizar,

deletar. Esse botão não deve aparecer quando a operação for de visualização. Caso o usuário tente salvar

um Cliente sem preencher os campos obrigatórios o sistema deverá exibir as mensagens de acordo com as

regras de validação do Laboratório 1 camada de Business Controller.

Além disso, existe outro botão, Voltar, o qual não deve realizar a ação desejada da tela e retornar para a

tela de pesquisarCliente. Ao retornar, a tela deve estar com o mesmo filtro e busca por resultados,

simulando assim que o usuário entrou na tela, editou o que queria e retornou para a tela de pesquisa com

a mesma pesquisa feita anteriormente, sem perda de informações.

Tela 6 – Manter Funcionário ao clicar na opção Funcionário > Cadastrar

Page 12: Laboratório 04

Essa tela será composta pelos seguintes campos:

Nome Email Telefone Data Nascimento Usuário

ID nome email telefone dataNascimento usuario

idLabel nome email telefone dataNascimento usuario

Componente

JSF p:inputText p:calendar p:inputText

Tipo Alfanumérico java.util.Date Alfanumérico

Tamanho 50 50 15 Não se Aplica 50

Máscara Texto à esq.

Obrigatório Todos os campos devem ser preenchidos

Regra Validação Não possui E-mail válido Não possui Data válida

Menor que a atual Não possui

Documento NumeroCartao Conta Corrente Rua Numero

ID documento numeroCartao contaCorrente rua numero

idLabel documento numeroCartao contaCorrente rua numero

Componente

JSF p:inputText

Tipo Alfanumérico Numérico

Tamanho 20 15 15 50

Não se

aplica

Máscara Texto à esquerda

Texto à

direita

Obrigatório Todos os campos devem ser preenchidos

Regra Validação Não possui

Page 13: Laboratório 04

Complemento Bairro Cidade Estado País

ID complemento bairro cidade estado pais

idLabel complemento bairro cidade estado pais

Componente JSF p:inputText

Tipo Alfanumérico

Tamanho 50 50 50 50 50

Máscara Texto à esq.

Obrigatório Todos os campos devem ser preenchidos

Regra Validação Não possui

Essa tela é composta pelos seguintes botões:

ID idLabel

Evento no MB

ManterFuncionarioMB

Ajax Tela Destino

btnSalvar salvar salvar() N pesquisarFuncionario

btnVoltar Voltar voltar() N pesquisarFuncionario

CRUD Funcionário - Tela 7 - Tela pesquisarFuncionario.xhtml

Tela responsável por realizar a pesquisa de Funcionários. Ela possui os campos nome, email, usuário,

código, cidade e estado. É necessário preencher algum dos campos para realizar a pesquisa a partir do

botão Pesquisar. Caso contrário, será apresentada a mensagem ER0001.

Após realizar a pesquisa a informação retornada é exibida em um dataTable, o qual retorna 3 botões com

ações para serem realizadas ao selecionar uma linha. Caso uma linha não seja selecionada será

apresentada a mensagem ER0002. Essas ações irão redirecionar o usuário para a Tela 8 – Tela

manterFuncionario, a qual terá certas características de acordo com a funcionalidade escolhida.

Tela 7 – Pesquisar Funcionários

Page 14: Laboratório 04

Tela 7 – Pesquisar Funcionários após a pesquisa

Essa tela é composta pelos seguintes campos:

Nome Email Usuário Código Cidade Estado

ID Nome email usuario codigo cidade estado

idLabel Nome email usuario codigo cidade estado

Componente JSF p:inputText

Tipo Alfanumérico

Tamanho 50 50 15 10 50 50

Máscara Texto à esq.

Obrigatório Ao menos um dos 6 campos deve ser preenchido

Regra Validação Não possui E-mail válido Não possui

Essa tela é composta pelos seguintes botões:

ID idLabel

Evento no MB

PesquisarFuncionarioMB

Ajax Tela Destino

btnEditar editar editar() N manterFuncionario

btnExcluir excluir excluir() N manterFuncionario

btnPesquisar pesquisar pesquisar() S Mesma Tela

btnVisualizar visualizar visualizar() N manterFuncionario

Page 15: Laboratório 04

Essa tela é composta por um dataset que contém os seguintes campos:

Campo Tipo Tam Máscara

Código do Funcionário AN 10 Centralizado

Nome do Funcionário AN 50 Centralizado

Email do Funcionário AN 50 Centralizado

Papel do Funcionário AN 50 Centralizado

Cidade / Estado AN 50/50 Centralizado

CRUD Funcionário - Tela 8 - Tela manterFuncionario.xhtml

Tela responsável por realizar as operações de Crud sobre uma instância da classe Funcionário. Essa tela

pode ser utilizada tanto para visualizar informações sobre um Funcionário, quanto para preencher/editar

informações deste. Ela possui os campos:

O nome do funcionário

O email do funcionário

O telefone do funcionário

A data de Nascimento do funcionário

O usuário do funcionário

A senha do funcionário

O código do funcionário

A conta corrente do funcionário

A rua do endereço

O número do endereço

O complemento do endereço

O bairro do endereço

A cidade do endereço

O estado do endereço

O país do endereço

Existe um botão Salvar, que irá realizar a operação correspondente ao estado da tela, inserir, atualizar,

deletar. Esse botão não deve aparecer quando a operação for de visualização. Caso o usuário tente salvar

um Funcionário sem preencher os campos obrigatórios o sistema deverá exibir as mensagens de acordo

com as regras de validação do Laboratório 1 camada de Business Controller.

Além disso, existe outro botão, Voltar, o qual não deve realizar a ação desejada da tela e retornar para a

tela de pesquisarFuncionário. Ao retornar, a tela deve estar com o mesmo filtro e busca por resultados,

simulando assim que o usuário entrou na tela, editou o que queria e retornou para a tela de pesquisa com

a mesma pesquisa feita anteriormente, sem perda de informações.

Page 16: Laboratório 04

Tela 6 – Manter Funcionário ao clicar na opção Funcionário > Cadastrar

Essa tela será composta pelos seguintes campos:

Nome Email Telefone Data Nascimento Usuário

ID nome email telefone dataNascimento usuario

idLabel nome email telefone dataNascimento usuario

Componente

JSF p:inputText p:calendar p:inputText

Tipo Alfanumérico java.util.Date Alfanumérico

Tamanho 50 50 15 Não se Aplica 50

Máscara Texto à esq.

Obrigatório Todos os campos devem ser preenchidos

Regra Validação Não possui E-mail válido Não possui Data válida

Menor que a atual Não possui

Page 17: Laboratório 04

Senha Código Conta Corrente Rua Numero

ID senha Código contaCorrente rua numero

idLabel senha Código contaCorrente rua numero

Componente JSF p:password p:inputText

Tipo Alfanumérico Numérico

Tamanho 50 10 15 50 Não se aplica

Máscara Texto à esquerda Texto à direita

Obrigatório Todos os campos devem ser preenchidos

Regra Validação Não possui

Complemento Bairro Cidade Estado País

ID complemento bairro cidade estado pais

idLabel complemento bairro cidade estado pais

Componente JSF p:inputText

Tipo Alfanumérico

Tamanho 50 50 50 50 50

Máscara Texto à esq.

Obrigatório Todos os campos devem ser preenchidos

Regra Validação Não possui

Essa tela é composta pelos seguintes botões:

ID idLabel

Evento no MB

ManterFuncionarioMB

Ajax Tela Destino

btnSalvar salvar salvar() N pesquisarFuncionario

btnVoltar Voltar voltar() N pesquisarFuncionario

Page 18: Laboratório 04

CompositeComponent Endereço - endereco.xhtml

Componente JSF, baseado na especificação CompositeComponent. O objetivo deste componente é

representar como um componente todos os atributos correspondentes a um objeto Endereco. Esse objeto

deverá ser passado como parâmetro para o componente. Além disso, a implementação deste componente

consistirá nos campos já construídos para a Tela 6 – manterCliente.xhtml e Tela 8 –

manterFuncionario.xhtml.

Esse componente deverá seguir a especificação CompositeComponent do JSF. Um exemplo de como criar

um componente está descrito na seguinte url: https://www.mauda.com.br/?p=133

Esse componente não possuirá nenhum botão de ação, somente os campos necessários para o objeto

Endereço, conforme quadro abaixo:

Numero Rua Complemento Bairro Cidade Estado País

ID numero rua complemento bairro cidade estado pais

idLabel numero rua complemento bairro cidade estado pais

Comp. JSF p:inputText

Tipo Numérico Alfanumérico

Tamanho Não se aplica 50

Máscara Texto à direita Texto à esquerda

Obrigatório Sim

Regra Valid. Não possui

O namespace a ser definido para o Projeto será ticketsEventos com o acrônimo te:

xmlns:te="http://java.sun.com/jsf/composite/ticketsEventos"

Assim dentro da pasta resources deverá ser criada uma pasta com o nome ticketsEventos. Um exemplo de

utilização do componente é apresentado no código abaixo:

<te:endereço endereco="#{manterFuncionarioMB.funcionario.endereco}"/>

Como é possível perceber esse componente receberá um objeto endereço, assim o tipo do atributo da

interface do componente deverá ser um endereço.

Um detalhe importante é que na Tela 6 – manterCliente.xhtml e Tela 8 – manterFuncionario.xhtml deverá

ser substituído a parte que tratam os campos do Endereço pelo componente aqui criado.