O JavaServer Faces é um framework MVC baseado em Java para a construção de interfaces de usuário baseadas em componentes para aplicações web. Possui um modelo de programação dirigido a eventos, abstraindo os detalhes da manipulação dos eventos e organização dos componentes, permitindo que o programador se concentre na lógica da aplicação. Foi formalizada como um padrão através do Java Community Process e faz parte da plataforma Java Enterprise Edition.
O JSF 2 utiliza Facelets como seu sistema de template padrão. Outras tecnologias da camada de visão, como XUL também podem ser empregadas. Em contraste, JSF 1.x utiliza JavaServer Pages (JSP) como seu sistema de template padrão. O JSF é atualmente considerado pela comunidade Java como a última palavra em termos de desenvolvimento de aplicações Web utilizando Java, resultado da experiência e maturidade adquiridas com o JSP/Servlet e Struts.
JSF: http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html
O Facelets é um sistema de template Web de código aberto sob a licença Apache e a tecnologia de processador de visões padrão para o JavaServer Faces (JSF). O Mojarra JavaServer Faces é a implementação open source da Oracle do padrão JSF.
Oracle Mojarra: https://javaserverfaces.java.net/
Criando uma Aplicação Hello World – JSF
1 – Para criar sua primeira aplicação JSF, abra o Eclipse e crie um projeto web dinâmico e na opção configuration, escolha JavaServer Faces 2.2, e clique em próximo duas vezes:
2 – Na janela Web Module clique em Generate web.xml deployment descriptor e clique em próximo:
3 – Nesta janela vamos escolher a biblioteca JSF, clique no botão de download para baixar a biblioteca:
4 – Escolha Oracle Mojarra, baixe o arquivo e finalize o projeto:
5 – Um novo projeto com uma aplicação JSF em branco foi criado, você pode expandir as pastas do projeto e encontrar o index.xhtml que possui um exemplo padrão de como utilizar o framework:
6 – Uma rápida olhada no código da página e podemos ver que o JSF utiliza as tags especiais do seu framework, elas são ui (Facelets), h (Html) e f (Core). Expanda a pasta Java Resources e clique em Application Properties e você verá que esta é a fonte dos textos exibidos na página:
7 – Clique em Add e adicione uma nova propriedade contendo uma saudação:
8 – No editor adicione uma nova tag para exibir sua propriedade, utilize o código abaixo para referencia:
9 – Salva e rode sua aplicação no servidor de aplicação de sua preferencia, neste exemplo utilizamos o Tomcat:
10 – Com servidor rodando você pode copiar a url do navegador do Eclipse e testar no seu navegador de preferencia:
Exemplo:
Neste exemplo criamos um projeto Java EE dinâmico para Web, configuramos a biblioteca JSF Oracle Mojarra e efetuamos uma básica modificação nas propriedades da aplicação para nos familiarizar com as tags do JSF.
Html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <f:loadBundle basename="resources.application" var="msg"/> <head> <title><h:outputText value="#{msg.welcomeTitle}" /></title> </head> <body> <h3><h:outputText value="#{msg.welcomeHeading}" /></h3> <p><h:outputText value="#{msg.welcomeMessage}" /></p> <br /> <h2><h:outputText value="#{msg.DevAberto}" /></h2> </body> </html>
Segui todos os passos, porém, minha aplicação foi criada sem index e sem application properties, no java resources. Na verdade, muita coisa está diferente dos seus prints. Alguma pista?
Olá Gabriel,
Você precisa verificar se utilizou todas as configurações mostradas na imagem na hora de escolher um projeto JSF, para que o mesmo contenha o template padrão.
Mas não tem nenhum problema se você criar a pagina index e o application properties do java na mão, desde que tudo esteja nos diretorios corretos.
Espero ter ajudado.
Abraços