Post on 28-Jun-2018
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
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
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
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>
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