segunda-feira, 21 de abril de 2014

Criando JSF 2.0

Criando um Novo Projeto em JSF 2.0

Usaremos JSF Mojarra 2.0, Tomcat 7 e JDK 7.

Levo em consideração que você tenha baixado os jars do JSF, tenha a pasta do tomcat 7  e instalado o JDK 7. Depois de feito seu download nos links acima!

File > New Project e selecionaremos Dynamic Web Project:



Em seguida configuraremos nosso Tomcat:

Selecionamos a versão que nesse caso é a 7.0:


Agora vamos configurar o diretório onde se encontra o Tomcat:





Feito isso, escolheremos a JRE 7:



Marque a opção Generate web.xml...



Em "Type:" deixe Disable Libary Configuration, pois nós mesmos colocaremos as libs no projeto! E Finish



Após fazer download das libs do JSF, copie e cole todas os 4 jars para a pasta lib que fica dentro de WebContent/WEB-INF, veja abaixo:



Aproveitando a imagem acima, vemos o nosso web.xml, nele fiz as seguintes configurações:
na tag <welcome-file-list> deixei apenas uma <welcome-file> que é qual pagina quando executarmos o projeto ele carregará, no caso está como index.xhtml. Na tag <url-pattern> configurei a maneira que será visualizado a minha extensão, por exemplo, assim que for executado esse projeto ele abrirá no navegador mostrando o endereço localhost/projeto/index.jsf e não localhost/projeto/index.xhtml, caso eu coloque entre essa tag o valor "*.thiago" será exibido no navegador localhost/projeto/index.thiago

Na pasta WebContent que é criada as paginas xhtml.



Em todas as paginas criadas, temos que fazer o import para poder usar as tag <h: /> do JSF, assim como vemos na imagem acima.

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets">


Nesse exemplo criado, fiz um ManagedBean PessoaMB e uso as @anotações @ManagedBean @SessionScoped acima da declaração da classe. Importante notar que o eclipse pode importar esses @ de javax.annotation.*; que é INCORRETO! O import correto é javax.faces.bean.*; caso contrario, não será um ManagedBean para o JSF.



Fizemos um ManagedBean e coloquei alguns atributos para dar como exemplo, fizemos também um método chamado gerar() que carrega esses atributos com um nome e idade, assim quando o metodo é chamado no xhtml ele carrega nome e idade para preencher nos inputText

Na imagem abaixo temos o xhtml com as tags <h:inputText> sendo carregadas desses valores com a propriedade value="#{}". Nessa propriedade value é onde chamamos nosso ManagedBean que por padrão leva o mesmo nome do MB só que a primeira letra em minúsculo. Na tag <h:commandButton> configuro as propriedades value que leva o nome do botão e a action que faz a ação, no caso chama o método responsável por gerar os nomes, assim a pagina é por padrão( já que não temos um retorno no método invocando outra pagina) novamente carregada e os campos trazem os atributos já carregados!



Ao executar o projeto, fica assim:


Quando clico em Gerar:






Um comentário:

  1. Muito bom, o tutorial mais rápido e fácil de entender que encontrei, continue assim.

    ResponderExcluir