SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
Java para Web - JSF
Parte 1
André Luiz Forchesatto
Apresentação
● Especialista em Ciência da Computação pela UFSC;
● Graduado em Tecnologia em Informática pela Unoesc;
● Atuação
○ Sócio Camtwo Sistemas;
○ Desenvolvedor Java desde 2002;
○ Professor;
● Contato
○ http://about.me/andreforchesatto
○ andreforchesatto@gmail.com
○ @forchesatto
Objetivos
Estudar conceitos e desenvolver na práticas sistemas
de interface rica na web utilizando framework baseado
em componentes JSF 2.0.
Conteúdos
● Introdução ao Desenvolvimento RAD para WEB
● Desenvolvimento Action Based e Component Based
● Introdução a framework Component-Based JSF 2.2
● Managed Bean
● Escopo Managed Bean
● Ciclo de vida
● Converter
Conteúdos
● Validation
● Framework de componentes ricos
● Facelets
● Templates
● Aumentando a produtividade com a criação de
componentes em JSF
Programação WEB???
Protocolo HTTP
JAVA + WEB
JEE - Java Enterprise Edition
JEE
Web
Container
JEE
EJB
Container
JEE
Client
Container
Arquitetura JEE
Evolução Java para web
● Servlet
○ 2.X e 3.X
● JSP – Java Server Pages
○ 1.X e 2.X
● JSTL – JSP Standard Tag Library
● Frameworks
○ Component Based
○ Action Based
Frameworks - web
● Surgiram para trazer produtividade no
desenvolvimento de software web
● Component Based
○ Simplicidade no desenvolvimento e aprendizado;
○ Conjunto de componentes visuais. Semelhante ao
que acontece no desktop;
○ Diminui as preocupações com a parte visual;
○ Exige pouco conhecimento de html+css+javascript
inicialmente
Component Based
Action Based
● Framework MVC
● Baseado em ações;
● Executam actions no servidor;
● Não possui componentes visuais;
● Mais flexibilidade no desenvolvimento;
● Exige mais conhecimento de
html+css+javascript
● Mas fácil de testar
Action Based
Exemplos na web
Servidor de Aplicação JEE
● Download do JEE ????
● Precisamos de uma implementação JEE
○ Glassfish
○ Jboss
○ Apache Geronimo
○ IBM Websphere Application Server
○ WebLogic Application Server
Servidor de Aplicação
Servlet Container
● Precisamos de um servidor de aplicativo
grande e pesado?
● Um Servlet Container suporta quase tudo
que precisamos para o desenvolvimento
web, mas não o JEE completo;
○ JSP
○ Servlets
○ JSTL
○ JSF
Servlet Container
● Apache Tomcat Versão
○ http://tomcat.apache.org/
● Jetty
○ http://jetty.codehaus.org/jetty/
Tratamento de Requisições Java EE
Introdução a JSF
JSF
● API Java Server Faces;
● Interface padrão de desenvolvimento web Java;
● Modelo de interfaces baseada em eventos e
componentes;
● Framework MVC (Model-View-Controller);
Estrutura JSF
Conceitos Principais JSF
● Componentes
● Renderers
● Managed-Beans
● Ciclo de vida (Request Lifecycle)
● Converter/Validators
● Navegação
● Eventos
Componentes
● Separa lógica de negócio da apresentação;
● Toda view possui uma hierarquia de
componentes;
Client Side h:form
h:input h:input h:input
Server Side
Componentes
● Os componentes são expressos em tags e uma pagina
JSP e em sua maioria são de interface com o usuário;
● Os componentes padrões são divididos em dois grupos:
● Faces Core: <f:view>, <f:loadBundle>, <f:param>
● HTML wrappers: <h:dataTabe>, <h:inputText>
● Componente = class + renderer + tag handler (JSP)
Primeiros passos
● Criar um projeto web que seja um .
war
● Adicionar a lib para jsf
● Configurar o web.xml
● Criar um arquivo faces-config.xml
● Criar uma página de index
Criar projeto web
● Criar projeto web utilizando maven e eclipse:
○ File->new->maven project
Criar projeto web
Configurar o
nome do projeto
e o tipo
Criar projeto web
1 - Código Fonte Java
2 - Recursos web:
html, css, js e
imagens
Configurando maven
● Arquivo pom.xml responsável por toda
configuração de bibliotecas e build
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
Configurando maven
<build>
<finalName>introducaoJsf</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<compilerVersion>1.8</compilerVersion>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Configurar web.xml
Criar arquivo web.xml
Configurar web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>
Configurar faces-config.xml
Criar arquivo faces-config.xml
Configurar faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.
org/xml/ns/javaee/web-facesconfig_2_2.xsd"version="2.2">
</faces-config>
Página index
Executando a aplicação
● Aplicação será executada no wildfly 8.1
○ Prática: Configurar e executar
HTML wrappers - JSF
● Comando
○ h:commandButton: Botão de submissão
de formulário
○ h:commandLink: Link com ação
● Dados
○ h:dataTable: Tabela associada a dados
● Imagens
○ h:graphicImage: Uma imagem
HTML wrappers - JSF
● Mensagens
○ h:message: mensagens para um componente
especifico
○ h:messages: mensagens globais da página
● Entrada de dados
○ h:inputHidden: Campo oculto
○ h:inputText: Campo simples para entrada de dados
○ h:inputSecret: Campo para senha
○ h:inputTextArea: Campo texto para entrada de
dados
● Seleção verdadeiro ou falso
○ h:selectBooleanCheckbox: Campo de marcação
verdadeiro ou falso
HTML wrappers - JSF
● Saída de dados
○ h:outputFormat: Texto formatado
○ h:outputLabel: Rotulo de campo
○ h:outputLink: Link sem ação
○ h:outputText: Texto simples
● Painel
○ h:panelGrid: Tabela para campos
○ h:panelGroup: Agrupador de
componentes para aplicar formatação ou
alimentamento
HTML wrappers - JSF
● Seleção única
○ h:SelectOneRadio: grupo de botões de radio
○ h:SelectOneListbox: lista de seleção única
○ h:SelectOneMenu: combobox de seleção única
● Seleção múltipla
○ h:SelectManyCheckbox: checkboxes agrupados
○ h:SelectManyListbox: lista de seleção múltipla
○ h:SelectManyMenu: lista de seleção múltipla
Faces Core
● f:view: Elemento raiz da árvore de
componentes
● f:ajax: Injeta comportamento ajax em
qualquer componente html
● f:selectItem: Representa um item de uma
lista ou combo
● f:selectItems: Representa a coleção de itens
de uma lista ou combo
● f:converter: Converto objeto java em texto e
vice-versa
Propriedades comuns
Propriedade Tipo Valor Default Obrigatório
id String Não tem sim
value Object Não tem sim
rendered Boolean True não
converter Converter Não tem não
sytleClass String Não tem não
binding String Não tem não
Todos componentes + exemplos
● Links com documentação para API Padrão JSF
● http://docs.oracle.com/javaee/7/tutorial/doc/jsf-intro.htm#BNAPH
● https://javaserverfaces.java.net/nonav/docs/2.2/javadocs/index.html
● http://www.jsftoolbox.com/documentation/help/12-
TagReference/core/index.jsf
Renderers
● Responsável por exibir o componente no
cliente
● Efetua enconde de HTML e decode em
String do form enviado
Prática
● Fazer o uso de alguns componentes
estudados
Managed Beans
● POJO (Plain Old Java Objects)
Managed Beans
● Classe POJO com uma anotação
@ManagedBean
● Não esquecer dos get e set para os
atributos;
JSF Value Binding
● Vincular valores do componente ao
Managed-bean;
● A vinculação é feita através de EL
(Expression Language)
● Sintaxe: #{ }
● Pode executar métodos ou acessar
atributos;
● Pode ser criado comandos condicionais;
JSF Value Binding
Prática
● Integração página xhtml com ManagedBean
Managed Beans - Escopo
● Request: @RequestScoped;
○ Novos dados a cada requisição;
● Session: @SessionScoped;
○ Criada uma sessão para o usuário dados finalizados
só quando a sessão for encerrada;
● Application: @ApplicationScoped;
○ Dados compartilhados por todos os usuários;
● View: @ViewScoped;
○ Dados presentes enquanto estiver na mesma
página
● Flow: @FlowScoped
○ Dados podem ser passado de página por página
como um wizard
Managed Beans - Init, Destroy
● Interagindo na construção e destruição dos
ManagedBeans
● @PostConstruct
○ É executado logo após a construção do MB
○ Sempre deve ser adicionado logo acima de
um método
● @PreDestroy
○ É executado pouco antes do MB sair do
contêiner
○ Sempre deve ser adicionado logo acima de
um método
Face Messages
● Classe do JSF responsável por enviar
mensagens ao componente <h:message> da
página JSF.
1 - Contexto web;
2 - Objeto de mensagem onde podemos indicar a Severidade da
mensagem, o resumo e os detalhes;
3 - Adiciona a mensagem no contexto, para um id especifico ou para null.
Prática
● Entendendo o comportamento dos escopos
e mensagens
Referências
http://docs.oracle.com/javaee/

Mais conteúdo relacionado

Mais procurados

Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSFDalton Valadares
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAndré Luiz Forchesatto
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018André Luiz Forchesatto
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaEduardo Bregaida
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Marcos Batista
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoEduardo Bregaida
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2Flávio Lisboa
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsIgo Coelho
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicaVictor Cavalcante
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 

Mais procurados (20)

Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSF
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 
Apresentação jsf 1_2
Apresentação jsf 1_2Apresentação jsf 1_2
Apresentação jsf 1_2
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSF
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em Desenvolvimento
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e Servlets
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmica
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2
 

Destaque

Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 
Boas práticas com jpa 2 e hibernate flisol 2012
Boas práticas com jpa 2 e hibernate   flisol 2012Boas práticas com jpa 2 e hibernate   flisol 2012
Boas práticas com jpa 2 e hibernate flisol 2012Frederico Maia Arantes
 
Desmontadora de neumáticos Megamount Smart
Desmontadora de neumáticos Megamount SmartDesmontadora de neumáticos Megamount Smart
Desmontadora de neumáticos Megamount SmartIBERISA S.L.
 
Catálogo Moda Club Eclipse 2014
Catálogo Moda Club Eclipse 2014Catálogo Moda Club Eclipse 2014
Catálogo Moda Club Eclipse 2014Ph Multimarcas
 
DHL Taste. Simply Delivered. kokbok
DHL Taste. Simply Delivered. kokbokDHL Taste. Simply Delivered. kokbok
DHL Taste. Simply Delivered. kokbokSara Arrhenius
 
E portafolio freddy-munoz_gestión_empresarial
E portafolio freddy-munoz_gestión_empresarialE portafolio freddy-munoz_gestión_empresarial
E portafolio freddy-munoz_gestión_empresarialfreddygmunoz
 
Keeping Your Trust Private!
Keeping Your Trust Private!Keeping Your Trust Private!
Keeping Your Trust Private!gemerich
 
SAP Portal and Second Level Authentication Implementation for ESS Paystub
SAP Portal and Second Level Authentication Implementation for ESS PaystubSAP Portal and Second Level Authentication Implementation for ESS Paystub
SAP Portal and Second Level Authentication Implementation for ESS PaystubMarkus Van Kempen
 
50+ auf dem Arbeitsmarkt
50+ auf dem Arbeitsmarkt50+ auf dem Arbeitsmarkt
50+ auf dem ArbeitsmarktUrs Müller
 
Das Ende der klassischen "B2B-Kommunikation" im Zeitalter von Social Media - ...
Das Ende der klassischen "B2B-Kommunikation" im Zeitalter von Social Media - ...Das Ende der klassischen "B2B-Kommunikation" im Zeitalter von Social Media - ...
Das Ende der klassischen "B2B-Kommunikation" im Zeitalter von Social Media - ...Bjoern Eichstaedt
 
Circuitos impresos Ultra Flexibles (UFPC)
Circuitos impresos Ultra Flexibles (UFPC) Circuitos impresos Ultra Flexibles (UFPC)
Circuitos impresos Ultra Flexibles (UFPC) David Valuex
 
U3 ao s 2 memory revision 2013
U3 ao s 2 memory revision 2013U3 ao s 2 memory revision 2013
U3 ao s 2 memory revision 2013Crystal Delosa
 
EMMC 11: Email and Social Media - Is it a marriage made in heaven or is it he...
EMMC 11: Email and Social Media - Is it a marriage made in heaven or is it he...EMMC 11: Email and Social Media - Is it a marriage made in heaven or is it he...
EMMC 11: Email and Social Media - Is it a marriage made in heaven or is it he...Niels van Meerte Janse
 
Analisis de psicologias[1]
Analisis de psicologias[1]Analisis de psicologias[1]
Analisis de psicologias[1]Joan Pech
 

Destaque (19)

Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
Boas práticas com jpa 2 e hibernate flisol 2012
Boas práticas com jpa 2 e hibernate   flisol 2012Boas práticas com jpa 2 e hibernate   flisol 2012
Boas práticas com jpa 2 e hibernate flisol 2012
 
Desmontadora de neumáticos Megamount Smart
Desmontadora de neumáticos Megamount SmartDesmontadora de neumáticos Megamount Smart
Desmontadora de neumáticos Megamount Smart
 
Catálogo Moda Club Eclipse 2014
Catálogo Moda Club Eclipse 2014Catálogo Moda Club Eclipse 2014
Catálogo Moda Club Eclipse 2014
 
DHL Taste. Simply Delivered. kokbok
DHL Taste. Simply Delivered. kokbokDHL Taste. Simply Delivered. kokbok
DHL Taste. Simply Delivered. kokbok
 
E portafolio freddy-munoz_gestión_empresarial
E portafolio freddy-munoz_gestión_empresarialE portafolio freddy-munoz_gestión_empresarial
E portafolio freddy-munoz_gestión_empresarial
 
Networking How-To Guide Handout
Networking How-To Guide HandoutNetworking How-To Guide Handout
Networking How-To Guide Handout
 
Keeping Your Trust Private!
Keeping Your Trust Private!Keeping Your Trust Private!
Keeping Your Trust Private!
 
Ciencianueva13
Ciencianueva13Ciencianueva13
Ciencianueva13
 
Winter DDS & Cut Plus - Esite
Winter DDS & Cut Plus - EsiteWinter DDS & Cut Plus - Esite
Winter DDS & Cut Plus - Esite
 
SAP Portal and Second Level Authentication Implementation for ESS Paystub
SAP Portal and Second Level Authentication Implementation for ESS PaystubSAP Portal and Second Level Authentication Implementation for ESS Paystub
SAP Portal and Second Level Authentication Implementation for ESS Paystub
 
50+ auf dem Arbeitsmarkt
50+ auf dem Arbeitsmarkt50+ auf dem Arbeitsmarkt
50+ auf dem Arbeitsmarkt
 
Das Ende der klassischen "B2B-Kommunikation" im Zeitalter von Social Media - ...
Das Ende der klassischen "B2B-Kommunikation" im Zeitalter von Social Media - ...Das Ende der klassischen "B2B-Kommunikation" im Zeitalter von Social Media - ...
Das Ende der klassischen "B2B-Kommunikation" im Zeitalter von Social Media - ...
 
Reporte [1]
Reporte [1]Reporte [1]
Reporte [1]
 
Circuitos impresos Ultra Flexibles (UFPC)
Circuitos impresos Ultra Flexibles (UFPC) Circuitos impresos Ultra Flexibles (UFPC)
Circuitos impresos Ultra Flexibles (UFPC)
 
Dicionário
DicionárioDicionário
Dicionário
 
U3 ao s 2 memory revision 2013
U3 ao s 2 memory revision 2013U3 ao s 2 memory revision 2013
U3 ao s 2 memory revision 2013
 
EMMC 11: Email and Social Media - Is it a marriage made in heaven or is it he...
EMMC 11: Email and Social Media - Is it a marriage made in heaven or is it he...EMMC 11: Email and Social Media - Is it a marriage made in heaven or is it he...
EMMC 11: Email and Social Media - Is it a marriage made in heaven or is it he...
 
Analisis de psicologias[1]
Analisis de psicologias[1]Analisis de psicologias[1]
Analisis de psicologias[1]
 

Semelhante a Aula parte 1 de JSF 2.2

Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFBruno Borges
 
TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTLoiane Groner
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsulWaldemar Neto
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Aplicações Web, Frameworks, REST e SPA
Aplicações Web, Frameworks, REST e SPAAplicações Web, Frameworks, REST e SPA
Aplicações Web, Frameworks, REST e SPAmarcosvpcortes
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1michellobo
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
Java OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIJava OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIYitzhak Stone
 
Play - Full Stack Java Web Framework
Play -  Full Stack Java Web FrameworkPlay -  Full Stack Java Web Framework
Play - Full Stack Java Web FrameworkMauricio Carvalho
 
Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03Ale Uehara
 

Semelhante a Aula parte 1 de JSF 2.2 (20)

Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWT
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsul
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Django
DjangoDjango
Django
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Aplicações Web, Frameworks, REST e SPA
Aplicações Web, Frameworks, REST e SPAAplicações Web, Frameworks, REST e SPA
Aplicações Web, Frameworks, REST e SPA
 
Desenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWTDesenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWT
 
Java web
Java webJava web
Java web
 
JSF & REST
JSF & RESTJSF & REST
JSF & REST
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
Java OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIJava OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMI
 
PHP: Como não programar em POG
PHP: Como não programar em POGPHP: Como não programar em POG
PHP: Como não programar em POG
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Play - Full Stack Java Web Framework
Play -  Full Stack Java Web FrameworkPlay -  Full Stack Java Web Framework
Play - Full Stack Java Web Framework
 
Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03
 

Último

Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 

Último (20)

Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 

Aula parte 1 de JSF 2.2

  • 1. Java para Web - JSF Parte 1 André Luiz Forchesatto
  • 2. Apresentação ● Especialista em Ciência da Computação pela UFSC; ● Graduado em Tecnologia em Informática pela Unoesc; ● Atuação ○ Sócio Camtwo Sistemas; ○ Desenvolvedor Java desde 2002; ○ Professor; ● Contato ○ http://about.me/andreforchesatto ○ andreforchesatto@gmail.com ○ @forchesatto
  • 3. Objetivos Estudar conceitos e desenvolver na práticas sistemas de interface rica na web utilizando framework baseado em componentes JSF 2.0.
  • 4. Conteúdos ● Introdução ao Desenvolvimento RAD para WEB ● Desenvolvimento Action Based e Component Based ● Introdução a framework Component-Based JSF 2.2 ● Managed Bean ● Escopo Managed Bean ● Ciclo de vida ● Converter
  • 5. Conteúdos ● Validation ● Framework de componentes ricos ● Facelets ● Templates ● Aumentando a produtividade com a criação de componentes em JSF
  • 9. JEE - Java Enterprise Edition
  • 14. Evolução Java para web ● Servlet ○ 2.X e 3.X ● JSP – Java Server Pages ○ 1.X e 2.X ● JSTL – JSP Standard Tag Library ● Frameworks ○ Component Based ○ Action Based
  • 15. Frameworks - web ● Surgiram para trazer produtividade no desenvolvimento de software web ● Component Based ○ Simplicidade no desenvolvimento e aprendizado; ○ Conjunto de componentes visuais. Semelhante ao que acontece no desktop; ○ Diminui as preocupações com a parte visual; ○ Exige pouco conhecimento de html+css+javascript inicialmente
  • 17. Action Based ● Framework MVC ● Baseado em ações; ● Executam actions no servidor; ● Não possui componentes visuais; ● Mais flexibilidade no desenvolvimento; ● Exige mais conhecimento de html+css+javascript ● Mas fácil de testar
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Servidor de Aplicação JEE ● Download do JEE ???? ● Precisamos de uma implementação JEE ○ Glassfish ○ Jboss ○ Apache Geronimo ○ IBM Websphere Application Server ○ WebLogic Application Server
  • 26. Servlet Container ● Precisamos de um servidor de aplicativo grande e pesado? ● Um Servlet Container suporta quase tudo que precisamos para o desenvolvimento web, mas não o JEE completo; ○ JSP ○ Servlets ○ JSTL ○ JSF
  • 27. Servlet Container ● Apache Tomcat Versão ○ http://tomcat.apache.org/ ● Jetty ○ http://jetty.codehaus.org/jetty/
  • 30. JSF ● API Java Server Faces; ● Interface padrão de desenvolvimento web Java; ● Modelo de interfaces baseada em eventos e componentes; ● Framework MVC (Model-View-Controller);
  • 32. Conceitos Principais JSF ● Componentes ● Renderers ● Managed-Beans ● Ciclo de vida (Request Lifecycle) ● Converter/Validators ● Navegação ● Eventos
  • 33. Componentes ● Separa lógica de negócio da apresentação; ● Toda view possui uma hierarquia de componentes; Client Side h:form h:input h:input h:input Server Side
  • 34. Componentes ● Os componentes são expressos em tags e uma pagina JSP e em sua maioria são de interface com o usuário; ● Os componentes padrões são divididos em dois grupos: ● Faces Core: <f:view>, <f:loadBundle>, <f:param> ● HTML wrappers: <h:dataTabe>, <h:inputText> ● Componente = class + renderer + tag handler (JSP)
  • 35. Primeiros passos ● Criar um projeto web que seja um . war ● Adicionar a lib para jsf ● Configurar o web.xml ● Criar um arquivo faces-config.xml ● Criar uma página de index
  • 36. Criar projeto web ● Criar projeto web utilizando maven e eclipse: ○ File->new->maven project
  • 37. Criar projeto web Configurar o nome do projeto e o tipo
  • 38. Criar projeto web 1 - Código Fonte Java 2 - Recursos web: html, css, js e imagens
  • 39. Configurando maven ● Arquivo pom.xml responsável por toda configuração de bibliotecas e build <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> </dependencies>
  • 42. Configurar web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> </web-app>
  • 44. Configurar faces-config.xml <?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp. org/xml/ns/javaee/web-facesconfig_2_2.xsd"version="2.2"> </faces-config>
  • 46. Executando a aplicação ● Aplicação será executada no wildfly 8.1 ○ Prática: Configurar e executar
  • 47. HTML wrappers - JSF ● Comando ○ h:commandButton: Botão de submissão de formulário ○ h:commandLink: Link com ação ● Dados ○ h:dataTable: Tabela associada a dados ● Imagens ○ h:graphicImage: Uma imagem
  • 48. HTML wrappers - JSF ● Mensagens ○ h:message: mensagens para um componente especifico ○ h:messages: mensagens globais da página ● Entrada de dados ○ h:inputHidden: Campo oculto ○ h:inputText: Campo simples para entrada de dados ○ h:inputSecret: Campo para senha ○ h:inputTextArea: Campo texto para entrada de dados ● Seleção verdadeiro ou falso ○ h:selectBooleanCheckbox: Campo de marcação verdadeiro ou falso
  • 49. HTML wrappers - JSF ● Saída de dados ○ h:outputFormat: Texto formatado ○ h:outputLabel: Rotulo de campo ○ h:outputLink: Link sem ação ○ h:outputText: Texto simples ● Painel ○ h:panelGrid: Tabela para campos ○ h:panelGroup: Agrupador de componentes para aplicar formatação ou alimentamento
  • 50. HTML wrappers - JSF ● Seleção única ○ h:SelectOneRadio: grupo de botões de radio ○ h:SelectOneListbox: lista de seleção única ○ h:SelectOneMenu: combobox de seleção única ● Seleção múltipla ○ h:SelectManyCheckbox: checkboxes agrupados ○ h:SelectManyListbox: lista de seleção múltipla ○ h:SelectManyMenu: lista de seleção múltipla
  • 51. Faces Core ● f:view: Elemento raiz da árvore de componentes ● f:ajax: Injeta comportamento ajax em qualquer componente html ● f:selectItem: Representa um item de uma lista ou combo ● f:selectItems: Representa a coleção de itens de uma lista ou combo ● f:converter: Converto objeto java em texto e vice-versa
  • 52. Propriedades comuns Propriedade Tipo Valor Default Obrigatório id String Não tem sim value Object Não tem sim rendered Boolean True não converter Converter Não tem não sytleClass String Não tem não binding String Não tem não
  • 53. Todos componentes + exemplos ● Links com documentação para API Padrão JSF ● http://docs.oracle.com/javaee/7/tutorial/doc/jsf-intro.htm#BNAPH ● https://javaserverfaces.java.net/nonav/docs/2.2/javadocs/index.html ● http://www.jsftoolbox.com/documentation/help/12- TagReference/core/index.jsf
  • 54. Renderers ● Responsável por exibir o componente no cliente ● Efetua enconde de HTML e decode em String do form enviado
  • 55. Prática ● Fazer o uso de alguns componentes estudados
  • 56. Managed Beans ● POJO (Plain Old Java Objects)
  • 57. Managed Beans ● Classe POJO com uma anotação @ManagedBean ● Não esquecer dos get e set para os atributos;
  • 58. JSF Value Binding ● Vincular valores do componente ao Managed-bean; ● A vinculação é feita através de EL (Expression Language) ● Sintaxe: #{ } ● Pode executar métodos ou acessar atributos; ● Pode ser criado comandos condicionais;
  • 60. Prática ● Integração página xhtml com ManagedBean
  • 61. Managed Beans - Escopo ● Request: @RequestScoped; ○ Novos dados a cada requisição; ● Session: @SessionScoped; ○ Criada uma sessão para o usuário dados finalizados só quando a sessão for encerrada; ● Application: @ApplicationScoped; ○ Dados compartilhados por todos os usuários; ● View: @ViewScoped; ○ Dados presentes enquanto estiver na mesma página ● Flow: @FlowScoped ○ Dados podem ser passado de página por página como um wizard
  • 62. Managed Beans - Init, Destroy ● Interagindo na construção e destruição dos ManagedBeans ● @PostConstruct ○ É executado logo após a construção do MB ○ Sempre deve ser adicionado logo acima de um método ● @PreDestroy ○ É executado pouco antes do MB sair do contêiner ○ Sempre deve ser adicionado logo acima de um método
  • 63. Face Messages ● Classe do JSF responsável por enviar mensagens ao componente <h:message> da página JSF. 1 - Contexto web; 2 - Objeto de mensagem onde podemos indicar a Severidade da mensagem, o resumo e os detalhes; 3 - Adiciona a mensagem no contexto, para um id especifico ou para null.
  • 64. Prática ● Entendendo o comportamento dos escopos e mensagens