Bom, tive algumas dificuldades de usar PrimeFaces e JSF 2.0 e não achei muita coisa na net sobre o assunto por isso resolvi postar um simples exemplo de como usar esses caras.
Estou usando o eclipse Helios para o exemplo:
Bem, vamos lá.
Criando um novo projeto: para criar um novo projeto no eclipse vá em file/new/project e escolha a opção "Dynamic Web Project " como mostra a figura abaixo:
Clique em "Next".
Em "Project name", coloque o nome do seu projeto, no meu caso vou colocar "TutorialJSF"
Em "Target runtime", deve-se escolher o servidor de aplicação, no meu caso estou usando o JBoss 5.1, mas pode ser utilizado qualquer outro que vocês já usam como: tomcat, jetty, etc..
Em "Configuration" deve-se clicar em "Modify", e escolher a opção "Java Server Faces 2.0", como mostra a figura abaixo:
Clique em "OK".
A tela deve ficar da seguinte maneira (lembre que meu servidor de aplicação é o JBoss 5.1):
Clique em "Next".
A próxima tela deve ficar como mostra a imagem abaixo:
Clique em "Next".
A próxima tela deverá ficar como mostra a imagem abaixo:
Clique em "Next".
Nesta tela, para quem não criou nenhum projeto ainda, em "URL Mapping Patterns", deverá esta como "/faces/*", remova esta opção e adicione "*.jsf", essa extenção será mapeada no web.xml. A figura abaixo mostra como deverá ficar a tela.
Clique em "Finish".
Com isso nosso projeto estará criado.
Para continuar o tutorial é preciso ter as bibliotecas do PrimeFaces e do JSF 2 em mãos (OBS: para que está usando o JBoss, verifique se no diretório "seu_diretorio_do_JBoss\server\default\deploy\jbossweb.sar\jsf-libs", estão as bibliotecas do JSF, se não tiver, ao baixa-las coloque elas nesta pasta, os demais servidores, eu acho, que pode ser colocado no projeto, explicarei como fazer isso mais tarde).
Para baixar o PrimeFaces acesse:
http://www.primefaces.org/downloads.html
Estou usando a versão "primefaces-2.2.1.jar", mas pode ser a mais atual que tiver (OBS: não baixe as versões como "primefaces.3.0.M3.jar", estão sendo implementados ainda e podem conter erros).
Para baixar o JSF 2 acesse:
http://javaserverfaces.java.net/
Do lado direito superior da tela terá o botão para download, baixe a versão mais atual.
Será baixado um arquivo .rar, no me caso o arquivo é "mojarra-2.1.1-FCS-binary.zip". Descompacte este arquivo e acesse o diretório "mojarra-2.1.1-FCS-binary\mojarra-2.1.1-FCS\lib", neste diretório terá dois arquivos "jsf-api.jar" e "jsf-impl.jar", essas são as bibliotecas do JSF 2.
Agora, com as bibliotecas em mão, quem está usando JBoss, basta verificar a pasta que falei logo acima e seguir as instruções que falei.
Os três arquivos devem ser copiados para a pasta "WebContent\WEB-INF\lib" do projeto, exceto quem está usando o JBoss, deve copiar somente a biblioteca do PrimeFaces.
Agora precisaremos acrescentar mais uma biblioteca no projeto. Clique com o botão direito na raiz do projeto e clique em "Properties", depois disso, clique em "Java Build Path", na aba "Libraries", clique no botão "Add Library" e clique na opção "Java EE 5 libraries", ou mais atual, e clique em "Next", "Finish" e "Ok".
Agora, na pasta src, clique com o botão direito e escolha a opção "new\package", em "Name", digite "com.br.tutorialjsf.controller" e clique em "Finish".
No pacote que acabamos de criar, clique com o botão direito e escolha a opção "new\Class", em "Name", digite "HomeController" e clique em "Finish".
A classe HomeController irá ficar da seguinte forma:
package com.br.tutorialjsf.controller;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean(name="home")
@RequestScoped
public class HomeController {
private String nome;
public String getNome() {
return "Tutorial JSF e PrimeFaces.";
}
public void setNome(String nome) {
this.nome = nome;
}
}
As anotações @ManagedBean e @RequestScoped, substituem o arquivos faces-config.xml, que é utilizado na versão 1.2 do JSF. Logo, quando tiver um tempo disponível, tentarei montar um tutorial somente de JSF 2 explicando as anotações de escopo e as diferenças entre o 1.2 e o 2.0.
Mas agora vamos ao que interessa:
Clique com o botão direito na pasta WebContent e escolha a opção "new\other", vamos escolher um arquivos html como mostra a figura abaixo.
Clique em "Next".
A próxima tela deve ficar como mostra a figura abaixo (Não esqueça de digitar "home.xhtml" em "File name"):
Clique em "Next".
Na próxima tela escolha a opção "New XHTML File (1.0 transitional)", como mostra a figura abaixo:
Clique em "Finish".
Note que o arquivo que acabamos de criar tem algumas tags de html, precisaremos fazer algumas alterações para que o JSF e o PrimeFaces funcionem corretamente, o abaixo mostrarei o código como está e como deverá ficar:
Antes:
<?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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</head>
<body>
</body>
</html>
Depois:
<?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"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</h:head>
<h:body>
</h:body>
</html>
Com isso, o PrimeFaces e o JSF já estarão configurados para usarmos, para testar basta colocar a tag "<p:colorPicker></p:colorPicker>" entre a tag "body" e rodar a aplicação, o código fica assim:
<?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"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</h:head>
<h:body>
<h:inputText value="#{home.nome}" />
<p:colorPicker></p:colorPicker>
</h:body>
</html>
O resultado disto será:
Bem Galera, espero ter ajudado, qualquer dúvida postem que, se eu souber responder, garanto que respondo.
Obrigado.
A tela deve ficar da seguinte maneira (lembre que meu servidor de aplicação é o JBoss 5.1):
Clique em "Next".
A próxima tela deve ficar como mostra a imagem abaixo:
Clique em "Next".
A próxima tela deverá ficar como mostra a imagem abaixo:
Clique em "Next".
Nesta tela, para quem não criou nenhum projeto ainda, em "URL Mapping Patterns", deverá esta como "/faces/*", remova esta opção e adicione "*.jsf", essa extenção será mapeada no web.xml. A figura abaixo mostra como deverá ficar a tela.
Clique em "Finish".
Com isso nosso projeto estará criado.
Para continuar o tutorial é preciso ter as bibliotecas do PrimeFaces e do JSF 2 em mãos (OBS: para que está usando o JBoss, verifique se no diretório "seu_diretorio_do_JBoss\server\default\deploy\jbossweb.sar\jsf-libs", estão as bibliotecas do JSF, se não tiver, ao baixa-las coloque elas nesta pasta, os demais servidores, eu acho, que pode ser colocado no projeto, explicarei como fazer isso mais tarde).
Para baixar o PrimeFaces acesse:
http://www.primefaces.org/downloads.html
Estou usando a versão "primefaces-2.2.1.jar", mas pode ser a mais atual que tiver (OBS: não baixe as versões como "primefaces.3.0.M3.jar", estão sendo implementados ainda e podem conter erros).
Para baixar o JSF 2 acesse:
http://javaserverfaces.java.net/
Do lado direito superior da tela terá o botão para download, baixe a versão mais atual.
Será baixado um arquivo .rar, no me caso o arquivo é "mojarra-2.1.1-FCS-binary.zip". Descompacte este arquivo e acesse o diretório "mojarra-2.1.1-FCS-binary\mojarra-2.1.1-FCS\lib", neste diretório terá dois arquivos "jsf-api.jar" e "jsf-impl.jar", essas são as bibliotecas do JSF 2.
Agora, com as bibliotecas em mão, quem está usando JBoss, basta verificar a pasta que falei logo acima e seguir as instruções que falei.
Os três arquivos devem ser copiados para a pasta "WebContent\WEB-INF\lib" do projeto, exceto quem está usando o JBoss, deve copiar somente a biblioteca do PrimeFaces.
Agora precisaremos acrescentar mais uma biblioteca no projeto. Clique com o botão direito na raiz do projeto e clique em "Properties", depois disso, clique em "Java Build Path", na aba "Libraries", clique no botão "Add Library" e clique na opção "Java EE 5 libraries", ou mais atual, e clique em "Next", "Finish" e "Ok".
Agora, na pasta src, clique com o botão direito e escolha a opção "new\package", em "Name", digite "com.br.tutorialjsf.controller" e clique em "Finish".
No pacote que acabamos de criar, clique com o botão direito e escolha a opção "new\Class", em "Name", digite "HomeController" e clique em "Finish".
A classe HomeController irá ficar da seguinte forma:
package com.br.tutorialjsf.controller;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean(name="home")
@RequestScoped
public class HomeController {
private String nome;
public String getNome() {
return "Tutorial JSF e PrimeFaces.";
}
public void setNome(String nome) {
this.nome = nome;
}
}
As anotações @ManagedBean e @RequestScoped, substituem o arquivos faces-config.xml, que é utilizado na versão 1.2 do JSF. Logo, quando tiver um tempo disponível, tentarei montar um tutorial somente de JSF 2 explicando as anotações de escopo e as diferenças entre o 1.2 e o 2.0.
Mas agora vamos ao que interessa:
Clique com o botão direito na pasta WebContent e escolha a opção "new\other", vamos escolher um arquivos html como mostra a figura abaixo.
Clique em "Next".
A próxima tela deve ficar como mostra a figura abaixo (Não esqueça de digitar "home.xhtml" em "File name"):
Clique em "Next".
Na próxima tela escolha a opção "New XHTML File (1.0 transitional)", como mostra a figura abaixo:
Clique em "Finish".
Note que o arquivo que acabamos de criar tem algumas tags de html, precisaremos fazer algumas alterações para que o JSF e o PrimeFaces funcionem corretamente, o abaixo mostrarei o código como está e como deverá ficar:
Antes:
<?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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</head>
<body>
</body>
</html>
Depois:
<?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"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</h:head>
<h:body>
</h:body>
</html>
Com isso, o PrimeFaces e o JSF já estarão configurados para usarmos, para testar basta colocar a tag "<p:colorPicker></p:colorPicker>" entre a tag "body" e rodar a aplicação, o código fica assim:
<?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"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</h:head>
<h:body>
<h:inputText value="#{home.nome}" />
<p:colorPicker></p:colorPicker>
</h:body>
</html>
O resultado disto será:
Bem Galera, espero ter ajudado, qualquer dúvida postem que, se eu souber responder, garanto que respondo.
Obrigado.









