Configuração do JSF

25/04/2011

0

Tenho percebido que eu não consigo startar uma XHTML, pelo JSF. Eu entendi que no problema está nos arquivos: FACES-CONFIG e WEB .xml. Esses caras têm feito a minha aplicação não funcionar. Hoje começarei realmente a desenvolver. Há aqui no forum algum tutorial de configuração do Faces-Config.xml e Web.xml? O colega Davi, esse cara tem sido para mim mais que um mestre, pois tem pacientemente me auxiliado, me mostrando o caminho o qual sou muito grato a ele e a outros tambem, como o Passarela, o Dyego e etc... Bem se esqueci algum nome aqui, é porque não me lembrei nesse momento, mas há outros sim. Só preciso de um tutorial de como configurar, o que colocar em cada TAG, e usaremos o Prime Faces também. Hoje receberemos os primeiros HTML ou outra coisa já pronta e preciso aprender a colocar esses caras em meu projeto e codificar. A dúivida não são tantas de java, mas de configuração e dos Frames que usaremos. Um bom dia a todos e aguardo uma ajuda.
Pjava

Pjava

Responder

Posts

25/04/2011

Pjava

Pessoal, o seguinte. Não tenho a opção em meu Eclipse de criar um novo projeto JSF. Só tenho como Dynamic Web Project e outros, mas não JSF. Até aí beleza, pois posso adicionar os jars do JSF nele. Mas dessa forma, como eu crio um FacesServlets?
Responder

25/04/2011

Davi Costa

Aquele link de um tutorial que havia te passado, já mostra bem o caminho das pedras, só que ele está voltado para o Rich-faces. Manda para gente te ajudar melhor as versões dos frameworks, se é JSF 2.0, JPA 2?
Manda essas versões que vai ficar mais fácil para a rapazeada te ajudar.

Att Davi
Responder

25/04/2011

Davi Costa

Só para adiantar alguma coisa vou te mandar um modelo de web.xml e faces-config.xml

Obtendo o jar do PrimeFaces:
Download em http://www.primefaces.org/downloads.html

Dá uma olhada aqui tb:
http://www.patternizando.com.br/2011/04/projeto-jsf-2-0-com-primefaces-3-0-m1/
http://www.primefaces.org/documentation.html

FACES:

<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">

</faces-config>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/primefaces_resource/*</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsf</welcome-file>
</welcome-file-list>
</web-app>




Att Davi





Responder

25/04/2011

Pjava

Uma pergunta: Eu preciso realmente do faces-config.xml? Posso eliminá-lo de meu projeto? Tenho necessidade dele?Já ouvi dizer que posso tirá-lo do projeto e que ele é um  ninho de problemas. É verdade isso?
Responder

25/04/2011

Davi Costa

Em partes, pode mantê-lo só com o necessário para ele. Conforme o exemplo que te mostrei.
Em algumas situações ele pode te ajudar.
É melhor deixá-lo para o JSF 1.2 ele é necessário sim, mas no dois nem tanto, mas eu te aconselharia a deixá-lo lá sim. Provavelmente quem falou mal dele devia está falando do jsf 1.2 que deixava um arquivo gigante, mas para o 2.0 não.

Att Davi
Responder

25/04/2011

Pjava

Sempre que tento rodar uma JSF sempre dá o erro que: O Internet Explorer não pode exibir a página da internet. O que acho interessante, é que o browser padrão que uso é o FireFox 4. Acho que ele é que deveria ser chamado e não o IE. Bem, mas não creio que isso seja o problema. Abaixo minhas configurações:
WEB.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
         id="WebApp_ID" version="3.0">
 
  <context-param>
 <param-name>javax.faces.PROJECT_STAGE</param-name>
 <param-value>Development</param-value>
 </context-param>
 
  <display-name>Prime</display-name>
  <welcome-file-list>
    <welcome-file>index.jsf</welcome-file>
  </welcome-file-list>
  
  <servlet>
     <servlet-name>Resource Servlet</servlet-name>
     <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>Resource Servlet</servlet-name>
      <url-pattern>/primefaces_resource/*</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  
  <session-config>
 <session-timeout>
 30
 </session-timeout>
 </session-config>
 <welcome-file-list>
 <welcome-file>index.jsf</welcome-file>
 </welcome-file-list>
  
</web-app>


config.xml
<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">

</faces-config>


Minha página para abrir o GoogleMap pelo Prime.

<?xml version='1.0' encoding='UTF-8' ?>
<!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>
 </h:head>
 <h:body>
 <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
 <p:gmap center="41.381542, 2.122893" zoom="15" type="HYBRID" style="width:600px;height:400px"/>
 </h:body>
</html>

Responder

25/04/2011

Davi Costa

Altere o web.xmlconforme eu te passei.

No seu vc declarou
<welcome-file-list>
    <welcome-file>index.jsf</welcome-file>
  </welcome-file-list>

Duas vezes e não sei se eleaceita .jsf pq não existe arquivo com essa extensão.
O ideal é colocar index.jsp e criar o arquivo index.jsp com o seguinte código:
<html>
    <head> </head>
    <body>
        <jsp:forward page="index.jsf" />
    </body>
</html>


e seu index.xhtml que é o index.jsf deixa com o mesmo código que vc me postou aí. E altera o web.xml para:
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
Mas eu ainda tentaria primeiro fazer funcionar para depois melhorar eu deixaria o web.xml conforme te passei anteriormente sem alterar nada.

Att Davi
Responder

25/04/2011

Robson Teixeira

Olá Pjava    no seu xhtml tire a tag -----------       <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> --------
   pois quando for renderizar a pagina o proprio primefaces coloca os scripts necessarios para usar o componente.     e arrume o cabeçalho do web.xml pois a aplicação pode não funcionar coloque assim o seu web.xml. ---------   <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         id="WebApp_ID" version="3.0"> ------- quanto aoo faces-config está tudo certinho e dando uma sugestão para melhor organização o JSF 2 como ja sabe as managedBeans podem ser declaradas usando annotation nas classe e no faces-config eu coloco as regras de navegação assim mantenho separada a logica e diminuo o tamanho do xml.   qualquer coisa e so chamar. att  robson Passarella
Responder

25/04/2011

Pjava

Ainda não funcionou. Veja como ficou.
Meu WEB.xml
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         id="WebApp_ID" version="3.0">
 
 <context-param>
 <param-name>javax.faces.PROJECT_STAGE</param-name>
 <param-value>Development</param-value>
 </context-param>
 <servlet>
 <servlet-name>Resource Servlet</servlet-name>
 <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Resource Servlet</servlet-name>
 <url-pattern>/primefaces_resource/*</url-pattern>
 </servlet-mapping>

 <servlet>
 <servlet-name>Faces Servlet</servlet-name>
 <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
 <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
 <servlet-name>Faces Servlet</servlet-name>
 <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
 <session-config>
 <session-timeout>
 30
 </session-timeout>
 </session-config>
 <welcome-file-list>
 <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>

O faces-config ficou igual, não preciso postar, nada foi alterado.
O meu XHTML
<?xml version='1.0' encoding='UTF-8' ?>
<!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>
 </h:head>
 <h:body>
 
 <p:gmap center="41.381542, 2.122893" zoom="15" type="HYBRID" style="width:600px;height:400px"/>
 </h:body>
</html>

e o meu JSP
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <body>
   <jsp:forward page="index.jsf" />
 </body>
</html>


Se fiz alguma merda, me digam. Para executar eu faço assim: Com o direiro em cima da JSP e dou Run AS > Run On Server > JBoss e então ele monta a seguinte URL: localhost:8080/Prime/index.jsp. Antes do JSP eu fazia em cima do XHTML. Se eu fizer em cima do projeto ele monta a seguinte URL: localhost:8080/Prime. É dessa forma que eu estou chamando o meu projeto.
Responder

25/04/2011

Davi Costa

Devido a alteração que vc fez no web.xml vc tem que alterar o seu index.jsp:

<servlet-name>Resource Servlet</servlet-name>
 <url-pattern>/primefaces_resource/*</url-pattern>
 </servlet-mapping>


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <body>
   <jsp:forward page="primefaces_resource/index.jsf" />
 </body>
</html>

Eu partiria do mais simles possível, para fazer funcionar e depois ir incrementando.

Att Davi


Responder

25/04/2011

Pjava

Quando vc me diz que partiria do mais simples, o que vc quer dizer? Poque veja, não tem praticamente nada esses códigos que passei. Apenas uma chamada a uma página XHTML.
Responder

25/04/2011

Davi Costa

Um dos link q te passei onde vc pegou essa funcionalidade do maps,
testa só ele, com o web.xml ainda um pouco mais simples do que o seu, para aos poucos vc ir testando e incrementando seu código, falei isso só para vc pegar uma base legal. É sempre muito importante, a medida que vc for evoluindo e incrementando seu código vc ficar muito mais expert e vai notar a diferença e entender realmente o que está acontecendo, do que pegar muita coisa de uma vez muito complexa e não entender tudo a fundo.
Mas estamos chegando lá, os frameworks e a arquitetura que vc está escolhendo estão sendo muito boas, logo logo vai estar detonando no primefaces. Só mais uma dica aki tem umas vídeos aulas bem legais de primefaces, dá uma caçada depois.


Att Davi


Responder

26/04/2011

Dyego Carmo

Bom , baixe o NetBeans e crie um projeto WEb com o framework JSF 2.0 , ele vai criar TODA a estrutura para voce... ai vc já ve ele bem legal :)
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar