Pesquisar

quarta-feira, 1 de julho de 2009

Exemplo simples usando JavaServer Faces 2.0 (BETA1) JSF 2 + Eclipse Galileo + Tomcat 6x

O que necessito?
  1. 1. Tomcat: http://tomcat.apache.org/download-60.cgi (ou algo que "rode" a espec. JSP2.5)
  2. 2. JSF 2.0 BETA1: https://javaserverfaces.dev.java.net/files/documents/1866/135560/mojarra-2.0.0-Beta1-binary.zip
  3. 3. Eclispe Galileo: http://www.eclipse.org/downloads/ (ou Netbeans 6.7, gnome-editor, vi, notepad...)
  4. 4. JDK 6.0: http://java.sun.com/javase/downloads/index.jsp


Primeiro passo.

Crie um projeto java web. No caso especifico do Eclipse essa categoria se chama: "Dynamic Web Project", nomei o projeto como desejar, eu usarei o nome "ArchSoftyJSF2"; ainda no Eclipse escolhi como "Target runtime" o Apache Tomcat v6.0 e já cliquei em Finish.

Segundo passo.

Coloque os dois jars - jsf-api.jar e jsf-impl.jar - no classpath da aplicação.

Terceiro passo.

Modifique o arquivo web.xml, adicionando um Servlet.
[servlet]
[servlet-name]Faces Servlet[/servlet-name]
[servlet-class]javax.faces.webapp.FacesServlet[/servlet-class]
[/servlet]

[servlet-mapping]
[servlet-name]Faces Servlet[/servlet-name]
[url-pattern]*.jsf[/url-pattern]
[/servlet-mapping]

Quarto passo.

Crie um arquivo (index.xhtml) com o seguinte conteúdo.

[?xml version="1.0" encoding="ISO-8859-1" ?]
[!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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"]
[head]
[title]ArchSoftyJSF2[/title]
[/head]
[body]
[h:form]
[h:outputText value="Alô, Mundão!"/]
[/h:form]
[/body]
[/html]

Quinto passo.

Rode e verá sua primeira aplicação usando Jsf 2.0 funcionando. Claro que se trata de um exemplo bem simples, pra deixar mais interessante vamos adicionar um botão e usar o novo modelo de managed bean (digo modelo no sentido de criação por meio de annotations).


Sexto passo.

Crie uma classe Java:

package presentation;

import javax.faces.bean.ManagedBean;

@ManagedBean(name="primeiroBean")
public class PrimeiroBeanMB {
private String texto;

public String getTexto() {
return texto;
}

public void setTexto(String texto) {
this.texto = texto;
}

public void mudeOTexto(){
texto = "Texto modificado!";
System.out.println(texto);
}
}


Sétimo passo.

Altere o index.xhtml mais precisamente mude o interior de ...

[h:form]
[h:outputText value="Alô, Mundão!"/]
[h:commandButton value="Mudar o texto" action="#{primeiroBean.mudeOTexto}"/]
[h:outputText value="#{primeiroBean.texto}"/]
[/h:form]

Agora é só rodar... Sentiu a ausência do faces-config.xml?

ps: desculpe a preguiça de apenas mudar <<>> por ]

Um comentário:

Eder disse...

Viva as anotations, cada vez mais simplificando e dando agilidade ao desenvolvimento.


Grande artigo