A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan

Apresentações semelhantes


Apresentação em tema: "JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan"— Transcrição da apresentação:

1 JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti roc3@cin.ufpe.br Jobson Ronan jrjs@cin.ufpe.br

2 O que é?  Um framework padrão(Standard) para aplicações webs  Define um modelo de programação  Componentes Reusáveis  Gera HTML a partir dos componentes  Validação e conversão  Arvore de componentes

3 Objetivos  Simplificar o desenvolvimento  Suporte por ferramentas  Eventos facilmente ligado a código server-side  Fácil de estender  Gerenciar o estado da UI

4 Padrões e Arquitetura  Model-View-Controller (MVC)  Baseada em factories  Árvore de componentes (Composite)  Eventos do lado do servidor

5 Mas o que é mesmo?  Uma aplicação JSF é como qualquer outra aplicação web Java  Roda dentro de um servlet container, e normalmente é composta de:  Simples componentes Java Beans  Event Listeners  Páginas, como páginas JSP  Outras classes como classes de acesso a dados

6 Mas o que é mesmo?  Em adição aplicações JSF também contém:  Uma tag library para renderizar os componentes gráficos na página  Uma tag library para tratamento de eventos, validações e outras acções  Backing Beans, que definem propriedades e funções para os componentes gráficos

7 Mas o que é mesmo?  Além de:  Classes implementando validators, converters, event listeners e event handlers  Um descritor de aplicação para configurar o funcionamento da mesma

8 Como usar?  Prescisa-se de uma implementação:  Implementação de referência  MyFaces, do grupo Jakarta

9 Ciclo de vida do Request- response

10 Como usar?  Declarar o Faces Servlet (Front Controller) web.xml Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.jsf contextConfigLocation /WEB-INF/faces-config.xml

11 Como usar?  Características  Front Controller MVC (como Struts)  Configuravel através de parametros de contexto

12 Simples exemplo  Botão “trocar” troca o conteúdo do campo1 pelo do campo2, e vice- versa

13 Implementando páginas  TagLibraries  UIComponent + HTML RenderKit Renderer  Core JavaServer Faces

14 UIComponent + HTML RenderKit Renderer   Define um campo de entrada de texto  Atributos value: expressão que indica o conteúdo do campo. Possivelmente uma propriedade de um bean

15 UIComponent + HTML RenderKit Renderer   Define um botão de ação  Atributos action: expressão que indica a ação a ser invocada quando este componente for ativado actionListener: expressão que indica o método de listener que será notificado quando este componente for ativado

16 UIComponent + HTML RenderKit Renderer   O método “trocar” do bean Trocar, não deve receber parâmetros e deve retornar uma String

17 UIComponent + HTML RenderKit Renderer   Renderiza um componente “a” HTML que funciona como um botão submit de um form Uso análogo ao commandButton

18 UIComponent + HTML RenderKit Renderer   Renderiza um formulário HTML

19 Core JavaServer Faces   Container para todos os componentes usados na página  Todos os componentes JavaServer Faces devem ser aninhados a este

20 Exemplo completo Troca Exemplo Campo1: Campo2:

21 Backing Bean Model  Que bean “TrocaBean” é este? package pcc; public class Troca { private String campo1; private String campo2; //gets e sets... public String troca() { String temp = campo1; campo1 = campo2; campo2 = temp; return “sucesso”; }

22 Backing Bean Model  Declarado no faces-config.xml <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> TrocaBean pcc.Troca request

23 Backing Bean Model Demostração...

24 Validação  Suporte validação de campos de entrada de forma declarativa ,, e outros validators customizados podem ser aninhados campos de entrada

25 Validação  Suporte validação de campos de entrada de forma programática  Um método do bean no formato public void xyz(FacesContext faces, UIComponent coponent, Object value)  Uma classe que implemente a interface javax.faces.validator.Validator

26 Validação  Mensagens de erro podem ser impressas utilizando a tag  Atributos for: O id do campo do qual deseja-se mostrar uma mensagem, possivelmente de erro

27 Validação Demostração...

28 O que mais?  Navegação definida no faces- config.xml  Condicionada e método do bean  Condicionada a retorno do método do bean

29 O que mais?  Exemplo (faces-config.xml) /troca.jsp success /trocaSucesso.jsp

30 O que mais?  Injeção de dependência nos beans  Suporte a internacionalização

31 O que mais?  Converters para a conversão de entradas em objetos específicos  Implementados de formas análogas a validação  Listeners de eventos do usuário  Implementados de formas análogas a validação e a converters

32 O que mais?  Gerênciadores de layout   Geração de Tabelas de dados total suporte a coleções 

33 O que mais?  Suporte a outros tipos de entrada

34 O que mais?  Implementação open-source, MyFaces (jakarta), com excelentes componentes customizados  Geradores de menus  Geradores de popups  Geradores de Barra de navegação  Grande quantidade de Validators customizados: EmailValidator, CreditCardValidator, etc.

35 O que mais?  Suporte de ferramentas comerciais para geração Drag’n Drop  Sun Java Studio Creator  IBM Webspheere  JDeveloper (free)  Uma tecnologia de geração de páginas a altura de ASP.NET  Porém, com toda a maturidade da linguagem Java no ServerSide


Carregar ppt "JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan"

Apresentações semelhantes


Anúncios Google