Aula para o curso de Pós Graduação da Faculdade Horus. Disciplina de Programação web em Java com JSF.
Parte 2 da disciplina com conceitos de ciclo de vida e utilização do componentes do primefaces
Github do projeto: https://github.com/forchesatto/posHorus
2. Agenda
● JSF 2
○ Ciclo de vida
○ Converters
○ Validation
○ Ajax
● Primefaces
● Internacionalização
3. Ciclo de vida JSF
● Objeto Lifecycle contrala o ciclo de vida do JSF
● 6 fases
http://www.edsongoncalves.com.br/2010/02/21/javaserver-faces-2-0-na-pratica-parte-3/
6. Restaura Visão (Restore View)
restaura ou cria no servidor a árvore de
componentes em memória para
representar a interface com o usuário.
Ciclo de Vida
18. Ciclo de vida JSF
● Nem toda requisição passa por todas etapas;
● Interceptamos uma das fase implementando a
interface javax.faces.event.PhaseListener
● Os método afterPhase(), beforePhase() e
getPhaseId(), estão disponíveis para interceptar
o ciclo de vida
● Deve ser registrado no faces-config.xml o
Listener criado
21. Converters
● Tem por finalidade converter objetos Java em
String e vice-versa;
● Converters são bidirecionais:
○ Managed-bean faz: getAsObject()
○ JSF faz: getAsString()
● Tipos padrões Java já possuem converters
padrões;
● O converter pode ser implícito(class) ou
explícito(id)
24. Validatores
● Utilizados para validar o valor de um
campo;
● Retornam um FacesMessage com o erro;
● Existem 3 maneiras de fazer validação de
campo:
○ Validadores padrões JSF
○ Bean Validation
○ Validadores personalizados do JSF
26. Bean Validation
● Especificação definida pela JSR303
● É necessária uma implementação para ser utilizada
● Utiliza annotation para registrar as regras de validação
● Possibilita fazer validações em qualquer camada da
aplicação
● Deve ser escrita de preferência nas classes do modelo
28. Validadores personalizados do JSF
● Criar uma classe que implementa uma
interface de validação
● Será utilizado somente no JSF e deve ser
invocado explicitamente no arquivo .xhtml
30. Prática
Criar Validatores utilizando Bean Validation
e Validadores Personalizados JSF;
Criar converter para as classes do nosso
projeto;
Criar algumas telas de cadastro;
31. Ajax
● Asynchronous Javascript and XML
● Um conjunto de tecnologias:
○ HTML
○ DOM
○ XHTML
○ CSS
○ XML
○ XSLT
○ XMLHttpRequest
○ JavaScript
32. Ajax
● Foi batizado em 2005 pela publicação do
artigo “Ajax: A New Approach to Web
Application” Escrito por Jossé James Garret
● Ajax pode ser usado com Java, Php, Ruby,
etc..
● Ajax = Javascript rodando no browse e se
comunicando com o servidor
35. Por que usar AJAX
● Respostas mais rápidas;
● Economia na banda do servidor;
● Maior interatividade;
36. Ajax no JSF 2.0
O que vai enviar ao servidor
@form, @all, @this,
ou id de um componente
Id do componente a ser atualizado com o
retorno do servidor.
Pode ser usado @all, @this, @form
Evento a ser
executado o
AJAX
42. Primefaces - Temas
Para configurar um tema basta adicionar o
jar do tema desejado e configurar o web.xml
http://www.primefaces.org/themes.html
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>cupertino</param-value>
</context-param>
46. Prática
Construir as telas de cadastro utilizando os
componentes do primefaces;
Criar alguns componentes autocomplete;
47. Internacionalização
● JSF 2 fornece duas maneiras de
internacionalização
○ faces-config.xml
○ tag Core <f:loadBundle>
● Após configurado é possível pegar através
de uma chave um valor adicionado em um
arquivo texto de mensagens.
50. Internacionalização
● Padrão do arquivo de mensagens:
○ Respeitar o nome que foi adicionado na
configuração;
○ O arquivo é composto por key=value
51. Internacionalização
● Para utilizar a chave do arquivo basta,
chamar a variável(msg) configurada no XML
(ponto) nome da chave;
<h:outputLabel value="#{msg.tituloUF}"/>