aula mvc - jsfdclaro/download/matc84/aula mvc - jsf.pdf · fonte: apostila algaworks. ambiente de...

25
MVC: JSF PATRÍCIA DOURADO Junho 2013

Upload: ngokhue

Post on 28-Jun-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

MVC: JSF

PATRÍCIA DOURADO Junho 2013

Histórico MVC

• Model View Controller

• Separar Interface do Usuário(UI) das regras de negócio e acesso a dados.

• Utilizado em Smalltalk

• Contexto inicial - desktop

MVC

Fonte: Wikipedia Commons []

Vantagens MVC

• Múltiplas Visões

• Facilidade Manutenção

• Reuso

MVC – Padrão de Projeto

GAMMA, Erich et al. Padrões de projeto. New York: Bookman, 2005.

Uso MVC – aplicações Web

Uso MVC – aplicações Web

Action Based x Component Based

• Como escolher?

Java Server Faces

(JSF)

JavaServer Faces

Conceito• JavaServer Faces é uma especificação que define um framework de

desenvolvimento de aplicações web baseado em componentes.

Duas Principais Versões• 1.2 – Distribuído no JEE5

• 2.0 – Distribuído no JEE6

Principais Implementações• Mojarra (RI – Reference Implementation)

• Myfaces

JavaServer Faces

JavaServer Faces

Especificação JSF – Componentes Simples

Arquitetura JSF (MVC)

Fonte: Apostila algaworks

Ambiente de Desenvolvimento

• Eclipse Juno

• Tomcat v7

• Bibliotecas

– Implementação JSF (Mojarra)

• https://javaserverfaces.java.net/nonav/2.1/download.html

– JSTL (JavaServer Pages Standard Template Library)

• https://jstl.java.net/download.html

Funcionalidades do JSF

• Conversão de Dados

• Validação

• Componentes Customizados

• Renderizadores

• Internacionalização

• Facelets

Ambiente de Desenvolvimento

• Exemplo Prático – Primeiro Exemplo JSF

– Configuração

– Diretório Padrão

– Extensão xhtml

Ciclo de Vida

Managed Beans

• Java Beans, que servem como canais entre a interface gráfica (a tela) e o back-end da aplicação (regras de negócio, acesso ao banco de dados, etc).

• Continuação Exemplo

– Criação de um formulário

• o h:form sempre envia uma requisição HTTP do tipo POST

– Validação do formulário (campo obrigatório, min ou máx de caracteres)

– Mensagens após Validação

Navegação Implícita

• Não é necessário configuração no faces-config (JSF1)

<navigation-rule>

<from-view-id>/index.xhtml</from-view-id>

<navigation-case>

<if>#{pessoaBean.nome != null}</if>

<to-view-id>/Resultado.xhtml</to-view-id>

</navigation-case>

</navigation-rule>

Navegação Implícita

Tipos de Escopo

• Continuação Exemplo

– Uso do componente dataTable para apresentar inserções

– Manter os cadastros no dataTable (tipo de escopo)

Bibliotecas de Componentes Adicionais

• Prime Faces -http://www.primefaces.org/showcase/ui/home.jsf

http://www.primefaces.org/downloads.html

• Rich Faces – http://showcase.richfaces.org/

• Tomahawk

• YUI

Configuração Prime Faces

• Exemplo Prático – Primeiro Projeto JSF

– Configuração

– Melhoria da interface – usando um componente do Prime Faces

Exercício

• Acrescentar um componente PrimeFacesno formulário.

Sugestões

• Uso do Maven

• Verificar Ciclo de Vida

• Intercionalização

Links Interessantes

• Apostilas

– http://www.caelum.com.br/apostila-java-testes-jsf-web-services-design-patterns/

– http://www.caelum.com.br/apostila-java-web/

– http://www.algaworks.com/apostilas/