JSF 2.0 e Richfaces 4.0 com problemas

5 respostas
J
Pessoal, adicionei o JSF 2.0 e o Richfaces 4 em um projeto, o qual eu ainda vou começar para estudar. Porém não está funcionando. Quando eu inicio minha página dessa maneira:
<ui:composition 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"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
Se eu faço um
<h:outputText value="TEXTO" />
simplesmente a página aparece em branco. E se eu faço
<h:outputText>TEXTO</h:outputText> ele me apresenta TEXTO na tela. Do mesmo jeito que se eu fizer um h:outputLink, não aparece nada!

Quando faço assim:

[code]
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
  </head>
  <body>
    <f:view>
      <h:outputText value="texto"/>
    </f:view>
  </body>
</html>

O outputText funciona e me mostra escrito texto na página. Mas isso sem colocar o Richfaces e o JSF. Quando coloco, ficando assim:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib prefix="rich" uri="http://richfaces.ajax4jsf.org/rich"%>
<%@taglib prefix="a4j" uri="http://richfaces.org/a4j"%>

Ele dá erro: [color=red]can not find the tag library descriptor for http://richfaces.org/a4j e http://richfaces.ajax4jsf.org/rich[/color]

O arquivo está com a extensão .jsf e o meu web.xml está assim:

<?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">

<display-name>Teste</display-name>

<context-param>
   <param-name>org.richfaces.SKIN</param-name>
   <param-value>blueSky</param-value>
</context-param>

<context-param>
   <param-name>org.richfaces.CONTROL_SKINNING</param-name>
   <param-value>enable</param-value>
</context-param>

<context-param>
   <param-name>javax.faces.PROJECT_STAGE</param-name>
   <param-value>Development</param-value>
</context-param>

<servlet>
   <display-name>FacesServlet</display-name>
   <servlet-name>FacesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

<load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
<servlet-name>FacesServlet</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>

Desde já agradeço!!!

5 Respostas

Jaba

Entao, cara, até a ultima vez que eu vi, o RichFaces não estava 100% no JSF 2.
Dos faces, o unico que está 100% implementado no JSF 2 é o PrimeFaces.

Inclusive, eu uso o mesmo aqui e não tenho nenhum tipo de problema.

Guilherme_Gomes

Jaba:
Entao, cara, até a ultima vez que eu vi, o RichFaces não estava 100% no JSF 2.
Dos faces, o unico que está 100% implementado no JSF 2 é o PrimeFaces.

Inclusive, eu uso o mesmo aqui e não tenho nenhum tipo de problema.

O Richfaces 4 está funcionando bem com o JSF 2 já.

j0kk3r, vamos por partes!

ui:composition - usando essa tag você está forçando a utilização de um template, se não inserir qual o template que está usando e qual a área que você irá customizar, não adianta usar esse componente. Dá uma estudada na TAG.

O padrão JSF 2 para criação de páginas é XHTML, então você não declara mais as libs como em JSP.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>

Você deve usar da maneira que tinha feito antes.

<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"  
xmlns:a4j="http://richfaces.org/a4j"  
xmlns:rich="http://richfaces.org/rich"> 

...

</html>

E por último, aconselho a mapear no seu web.xml para utilizar o Faces com *.xhtml
Fica mais fácil de entender e melhor pro usuário final, que vai olhar a extensao no browser com xhtml, e não com jsf.

J

Certo, mas como eu crio os arquivos então? Eu fazendo assim: New > JSP File > Next > New JavaServer Faces (JSF) Page (html). Continuo fazendo assim e altero a extensão do arquivo???

Só poderei testar quando chegar em casa, mas agradeço a ajuda!

Abraço!

jrsilvanio

Cara, passei por esse mesmo problema, porém estava utilizando xhtml.

comigo o body e head estava faltando a tag “h”, quando coloquei a tag funcionou.

tenta ae, o seu body e head está faltando a tag “h”

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>  
<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>  
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
  <h:head>  
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
    <title>Insert title here</title>  
  </h:head>  
  <h:body>  
    <f:view>  
      <h:outputText value="texto"/>  
    </f:view>  
  </h:body>  
</html>
Jaba

Eh, eu acabei de dar uma lida na documentação e achei o trecho:

JavaServer Faces (JSF)
RichFaces supports the following JSF implementations and frameworks:

MyFaces 2 and higher
Seam 3 and higher
Mojara 2 and higher


Eu até gostei do ShowCase do Rich, mas acho melhor a comunidade testar o nivel de maturidade antes da ferramenta do que usar.

Criado 9 de outubro de 2011
Ultima resposta 10 de out. de 2011
Respostas 5
Participantes 4