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
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:
Muito bom, o tutorial mais rápido e fácil de entender que encontrei, continue assim.
ResponderExcluir