SlideShare uma empresa Scribd logo
1 de 18
Memorizando a WEB
    com JSF
Alberto Souza


• @alberto_souza
• github.com/asouza
Desmemoriada
Validando um
 formulário
Resultado da validação
Código html comum
    •       <form action="cadastroSemMemoria" method="post">

	       	  Nome<input type="text" name="nome"/>
            ${nomeInvalido!=null ? "Nome não pode ser branco":""}
	       	 <br/>
	       	 Rua<input type="text" name="linha"/><br/>
	       	 Cep<input type="text" name="linha"/><br/>
	       	 Bairro<input type="text" name="linha"/><br/>
	       	 Cidade<input type="text" name="linha"/><br/>
	       	 Estado<input type="text" name="linha"/><br/>
	       	 Pais<input type="text" name="linha"/><br/>
	       	 Email<input type="text" name="linha"/><br/>
	       	 CPF<input type="text" name="linha"/><br/>
	       	 RG<input type="text" name="linha"/><br/>
	       	 <input type="submit" value="Gravar"/>
	       </form>
E com muitos
 formulários?
Memória de elefante
Temos que manter
    estado!
Validando um
 formulário
Aqui que o JSF nos
      ajuda!
Código quase html
  •   <h:form>

	 	 <h:outputLabel>Nome</h:outputLabel>
	 	 <h:inputText id="nome" required="true" requiredMessage="Nome nao
pode ficar em branco"/>
	 	 <h:message for="nome"/><br/>	 	 	
	 	 <h:outputLabel>Rua</h:outputLabel>
	 	 <h:inputText/><br/>		
	 	 <h:outputLabel>Bairro</h:outputLabel>
	 	 <h:inputText/><br/>		 	
	 	 <h:outputLabel>Email</h:outputLabel>
	 	 <h:inputText/><br/>		 	
	 	 <h:outputLabel>CPF</h:outputLabel>
	 	 <h:inputText/><br/>		 	
	 	 <h:outputLabel>RG</h:outputLabel>
	 	 <h:inputText/><br/>
	 	 <h:commandButton value="Gravar"></h:commandButton>
Pegando os dados


•   <h:inputText value="#{onibusBean.onibus.linha}" />
Pegando os dados
 package br.com.caelum.busao;

 import javax.faces.bean.ManagedBean;

 @ManagedBean
 public class OnibusBean {

 	   private Onibus onibus;
 	
 	   public Onibus getOnibus() {
 	   	 return onibus;
 	   }
 }
Componentes prontos


• No próprio JSF
• Extensões como Primefaces e Richfaces
Um mapa por exemplo
Apenas mais uma tag

	   	   	   <p:gmap id="mapa" zoom="15" center="-23.561057,-46.634372"
	   	   	   	 type="ROADMAP" style="width:600px;height:400px">

	   	   	   </p:gmap>
Valeu!
 @alberto_souza
github.com/asouza

Mais conteúdo relacionado

Destaque

Projeto e Implementação de Software Utilizando Padrões
Projeto e Implementação de Software Utilizando PadrõesProjeto e Implementação de Software Utilizando Padrões
Projeto e Implementação de Software Utilizando PadrõesAntonio Passos
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Pablo Nóbrega
 
Samir Mamude - Sistemas Comerciais Java EE
Samir Mamude - Sistemas Comerciais Java EESamir Mamude - Sistemas Comerciais Java EE
Samir Mamude - Sistemas Comerciais Java EESamir Mamude
 
Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Moisés Moura
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoVinícius de Paula
 
Persistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPAPersistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPACaelum
 
Apostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesApostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesRosicleia Frasson
 

Destaque (11)

Projeto e Implementação de Software Utilizando Padrões
Projeto e Implementação de Software Utilizando PadrõesProjeto e Implementação de Software Utilizando Padrões
Projeto e Implementação de Software Utilizando Padrões
 
Spring Capitulo 06
Spring Capitulo 06Spring Capitulo 06
Spring Capitulo 06
 
Prime Faces
Prime FacesPrime Faces
Prime Faces
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2
 
Samir Mamude - Sistemas Comerciais Java EE
Samir Mamude - Sistemas Comerciais Java EESamir Mamude - Sistemas Comerciais Java EE
Samir Mamude - Sistemas Comerciais Java EE
 
Tutorial JSF 2.0 (2012)
Tutorial JSF 2.0 (2012)Tutorial JSF 2.0 (2012)
Tutorial JSF 2.0 (2012)
 
Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22
 
JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de Projeto
 
Persistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPAPersistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPA
 
Apostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesApostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e Primefaces
 

Apresentando jsf

  • 6. Código html comum • <form action="cadastroSemMemoria" method="post"> Nome<input type="text" name="nome"/> ${nomeInvalido!=null ? "Nome não pode ser branco":""} <br/> Rua<input type="text" name="linha"/><br/> Cep<input type="text" name="linha"/><br/> Bairro<input type="text" name="linha"/><br/> Cidade<input type="text" name="linha"/><br/> Estado<input type="text" name="linha"/><br/> Pais<input type="text" name="linha"/><br/> Email<input type="text" name="linha"/><br/> CPF<input type="text" name="linha"/><br/> RG<input type="text" name="linha"/><br/> <input type="submit" value="Gravar"/> </form>
  • 7. E com muitos formulários?
  • 11. Aqui que o JSF nos ajuda!
  • 12. Código quase html • <h:form> <h:outputLabel>Nome</h:outputLabel> <h:inputText id="nome" required="true" requiredMessage="Nome nao pode ficar em branco"/> <h:message for="nome"/><br/> <h:outputLabel>Rua</h:outputLabel> <h:inputText/><br/> <h:outputLabel>Bairro</h:outputLabel> <h:inputText/><br/> <h:outputLabel>Email</h:outputLabel> <h:inputText/><br/> <h:outputLabel>CPF</h:outputLabel> <h:inputText/><br/> <h:outputLabel>RG</h:outputLabel> <h:inputText/><br/> <h:commandButton value="Gravar"></h:commandButton>
  • 13. Pegando os dados • <h:inputText value="#{onibusBean.onibus.linha}" />
  • 14. Pegando os dados package br.com.caelum.busao; import javax.faces.bean.ManagedBean; @ManagedBean public class OnibusBean { private Onibus onibus; public Onibus getOnibus() { return onibus; } }
  • 15. Componentes prontos • No próprio JSF • Extensões como Primefaces e Richfaces
  • 16. Um mapa por exemplo
  • 17. Apenas mais uma tag <p:gmap id="mapa" zoom="15" center="-23.561057,-46.634372" type="ROADMAP" style="width:600px;height:400px"> </p:gmap>

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n