Upload
internet
View
118
Download
1
Tags:
Embed Size (px)
Citation preview
Java Server Java Server FacesFaces
Leandro O. GomesLeandro O. Gomes
Primeiros passos - Primeiros passos - FES(2009-1)FES(2009-1)
O que é Java Server O que é Java Server Faces?Faces?
Framework para desenvolver aplicacões webFramework para desenvolver aplicacões web
Faz parte da especificação do JEEFaz parte da especificação do JEE
Open-SourceOpen-Source
Fácil de usarFácil de usar
Grande demanda de mercadoGrande demanda de mercado
Componentes ExtensíveisComponentes Extensíveis
O que compõe o JSF?O que compõe o JSF?
ComponentesComponentes EventosEventos
ValidadoresValidadores ConversoresConversores
NavegabilidadeNavegabilidade Backing BeansBacking Beans
Usando o JSFUsando o JSF
Para usar o JSF é necessário:Para usar o JSF é necessário:
jsf-api.jarjsf-api.jar
jsf-impl.jarjsf-impl.jar
libs commonslibs commons
JSTL libsJSTL libs
Todos os jar’s devem estar na pasta Todos os jar’s devem estar na pasta WEB-INF/libWEB-INF/lib
Criar o arquivo de configuração:Criar o arquivo de configuração:
faces-config.xmlfaces-config.xml
Usando o JSFUsando o JSF
Estrutura de diretórios:Estrutura de diretórios:
Ciclo de Vida do Java Ciclo de Vida do Java Server FacesServer Faces
Quando um client faz o pedido de um página, Quando um client faz o pedido de um página, se inicia o ciclo de vida do JSFse inicia o ciclo de vida do JSF
Quando um página é submetida, o faces Quando um página é submetida, o faces executa 2 tarefas básicas:executa 2 tarefas básicas:
validar as UIComponents da viewvalidar as UIComponents da view
converter as entradas de dados nos tipos converter as entradas de dados nos tipos adequados nos backing beansadequados nos backing beans
Ciclo de Vida do Java Ciclo de Vida do Java Server FacesServer Faces
Ciclo de Vida do Java Ciclo de Vida do Java Server FacesServer Faces
Restore View Phase:Restore View Phase:
Após a requisição do cliente, todo o estado da view é restaurado Após a requisição do cliente, todo o estado da view é restaurado através de uma objeto chamado FacesContext (componentes, através de uma objeto chamado FacesContext (componentes, listeners, validadores, conversores etc)listeners, validadores, conversores etc)
Apply Request Values PhaseApply Request Values Phase
Extrair todos os valores digitados pelo usuário e guardar esse valor Extrair todos os valores digitados pelo usuário e guardar esse valor nos seus respectivos componentesnos seus respectivos componentes
se o valor digitado não for compatível com o componente, um erro se o valor digitado não for compatível com o componente, um erro é lançado e adicionado na classe FacesContext e será mostrado na é lançado e adicionado na classe FacesContext e será mostrado na fase fase Render Response PhaseRender Response Phase
Ciclo de Vida do Java Ciclo de Vida do Java Server FacesServer Faces
Process Validation PhaseProcess Validation Phase
Nessa fase, o JSF executa todos os validadores existentes na view.Nessa fase, o JSF executa todos os validadores existentes na view.
Caso haja algum erro, uma mensagem de erro é adicionada em Caso haja algum erro, uma mensagem de erro é adicionada em FacesContext e o fluxo de execução vai ser direcionado para a fase FacesContext e o fluxo de execução vai ser direcionado para a fase Render Response PhaseRender Response Phase
Update Model Values PhaseUpdate Model Values Phase
O status da view será atualizado com todos os valores gravados nos O status da view será atualizado com todos os valores gravados nos componentescomponentes
Caso ocorra algum erro de conversão entre tipos, um erro vai ser Caso ocorra algum erro de conversão entre tipos, um erro vai ser adicionado em FacesContext e o fluxo vai ser direcionado para a fase adicionado em FacesContext e o fluxo vai ser direcionado para a fase Render Response Phase Render Response Phase
Invoke Application PhaseInvoke Application Phase
É nessa fase que o método de ação em seu bean vai ser executado e as É nessa fase que o método de ação em seu bean vai ser executado e as regras de navegação vão ser aplicadasregras de navegação vão ser aplicadas
O fluxo de execução vai ser encerradoO fluxo de execução vai ser encerrado
NavegabilidadeNavegabilidade
A navegação de páginas em JSF é baseada em A navegação de páginas em JSF é baseada em regras de navegação regras de navegação
Tipos de Navegação:Tipos de Navegação:
EstáticaEstática
DinâmicaDinâmica
NavegabilidadeNavegabilidade
NavegabilidadeNavegabilidade
NavegabilidadeNavegabilidade
Navegação DinâmicaNavegação Dinâmica
Backing BeansBacking Beans
Definido no faces-config.xml e identificada Definido no faces-config.xml e identificada através de um aliasatravés de um alias
Implementação de validaçõesImplementação de validações
Funciona como um Controller, chamando o Funciona como um Controller, chamando o Model e escolhendo a ViewModel e escolhendo a View
Backing BeansBacking Beans
Backing BeansBacking Beans
Usando um Backing Bean:Usando um Backing Bean:
<h:commandLink value=”Voltar” <h:commandLink value=”Voltar” action=”#{beanName.metodo}”action=”#{beanName.metodo}”
A assinatura do método deve ser:A assinatura do método deve ser:
public String metodo( ) { ... }public String metodo( ) { ... }
O retorno do método é usado para O retorno do método é usado para navegaçãonavegação
JSF Expression JSF Expression LanguageLanguage
O Jsf possui uma linguagem para simplificar a O Jsf possui uma linguagem para simplificar a sintaxe de acesso as informaçõessintaxe de acesso as informações
Ex:Ex:
#{carro.nome}#{carro.nome}
#{carro.motorista.nome}#{carro.motorista.nome}
#{aluno.disciplinas[5].nome}#{aluno.disciplinas[5].nome}
Conversão e ValidaçãoConversão e Validação
As conversões são efetuadas no Apply As conversões são efetuadas no Apply Request Values PhaseRequest Values Phase
As validações são efetuadas no Process As validações são efetuadas no Process Validation PhaseValidation Phase
Conversão e ValidaçãoConversão e Validação
Conversão:Conversão:
é o processo de assegurar que o dado é do tipo ou é o processo de assegurar que o dado é do tipo ou do objeto corretodo objeto correto
JSF provê vários conversores padrões. Também é JSF provê vários conversores padrões. Também é possível criar seu próprio conversorpossível criar seu próprio conversor
Conversão e ValidaçãoConversão e Validação
Validação:Validação:
Processo que assegura que o dado é o Processo que assegura que o dado é o esperadoesperado
Existem 4 formas de validadação:Existem 4 formas de validadação:
embutida nos componentesembutida nos componentes
em nível de applicaçãoem nível de applicação
personalizadospersonalizados
métodos nos backing beansmétodos nos backing beans
ExercícioExercícioCrie um jogo com JSF para adivinhar um número secreto. Esse jogo Crie um jogo com JSF para adivinhar um número secreto. Esse jogo deve possuir duas JSPs: uma onde o usuário digitará um número e deve possuir duas JSPs: uma onde o usuário digitará um número e outra onde será exibido uma mensagem de sucesso e número de outra onde será exibido uma mensagem de sucesso e número de tentativas para o acerto, caso o usuário acerte o número secreto.tentativas para o acerto, caso o usuário acerte o número secreto.
O objetivo desse exercício é entender:O objetivo desse exercício é entender:
A estrutura do faces-config.xmlA estrutura do faces-config.xml
Criação de um beanCriação de um bean
Criação de JSPs com JSTLCriação de JSPs com JSTL
http://code.google.com/p/fes200901http://code.google.com/p/fes200901
[email protected]@gmail.com