Problemas com Richfaces - Não funciona direito?

9 respostas
L

Olá amigos, baixei a biblioteca do richfaces (última) e fui tentar usar o TabPanel e não está exibindo corretamente.

Minha pagina:

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

<html>
	<head>
		<title>Teste</title>		
	</head>
<body>
	<f:view>
		<rich:tabPanel>
			<rich:tab label="First">
				Here is tab #1
			</rich:tab>
			<rich:tab label="Second">
				Here is tab #2
			</rich:tab>
			<rich:tab label="Third">
				Here is tab #3
			</rich:tab>
		</rich:tabPanel>			
	</f:view>
</body>

O que está acontecendo é que o corpo das TAB ficam fora do TabPanel e ao clicar nas “guias” elas mudam mais o seu conteudo não aparece dentro dela. Os conteúdos ficam aparecendo um ao lado do outro, como pode ver na imagem abaixo:

Por favor, preciso de ajuda pra fazer este cara funcionar…

obrigado…

=)

9 Respostas

L

Cara, não sei se é por isso, mas tenta usar os atributos id e switchType, na declaração do TabPanel, mais ou menos assim:

<rich:tabPanel id="tabPanel" switchType="ajax">

Deve resolver.

Abraços.

rossinimartins

eu também estou passando por esse mesmo problema.

Tenho dois projetos atualmente: ambos estão configurados com jsf-richfaces e hibernate. Porém em um projeto o componente tabpanel está funcionando perfeitamente e no outro está acontecendo o problema.

Já tentei o seguinte: troquei os jars da pasta lib, revistei todo o arquivo web.xml e nada aconteceu ainda.

Vou correr atrás de outras possibilidades. Qualquer novidade eu postarei com uma possível solução.

rossinimartins

fui no fórum de discussão do Richfaces e encontrei o seguinte:

"Apenas usando JSF 1.2 e/ou Facelets permitem inserir HTML puro em componentes JSF. Se vc não usar JSF 1.2 e/ou fazer uso de Facelets, deve-se usar componentes JSF para compor o conteúdo ou envolver o trecho de texto com <f:verbatim>. "

Em outras palavras, a versão 1.1 do Java Server Faces (além de implementações baseadas nesta versão como o MyFaces, por exemplo) não permite inserir HTML diretamente em componentes JSF, sendo necessário utilizar tags de saída JSF para isto. Ex: <h:outputText> ou <f:verbatim>. Para contornar este problema, pode-se utilizar Facelets conjugado com o JSF versão 1.1.

Minha aplicação que apresentava o mesmo problema em foco, passou a funcionar corretamente quando comecei a configurar a aplicação com Facelets.

Espero que tenha ajudado

rossinimartins

Ex de uso de tabPanel com tag de saída JSF:

<rich:tabPanel>
<rich:tab label=“label1”>
<h:outputText value=“conteudo 1” />
</rich:tab>
<rich:tab label=“label2”>
<h:outputText value=“conteudo 2” />
</rich:tab>
</rich:tabPanel>

C

Olá pessoal, estou com um problema parecido só que na minha aplicação ele não fica com nenhuma tab, parece que ele não está lendo as configurações do skin!

Valeu pela ajuda!

bebad

desconfio que seja por isso:

<!-- Skin selecionado para a aplicacao --> <context-param> <param-name>org.ajax4jsf.SKIN</param-name> <param-value>blueSky</param-value> </context-param> :roll:

Alguem ja conseguiu fazer rodar duas paginas jsf ao mesmo tempo ?

C

O meu xml já tem essa código.
Segue o xml

<?xml version="1.0"?>
<web-app 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"
	version="2.5">

	<display-name>Exemplo</display-name>
	<description>Exemplo</description>
	<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>*.faces</url-pattern>
	</servlet-mapping>
	<context-param>
		<param-name>org.ajax4jsf.SKIN</param-name>
		<param-value>blueSkin</param-value>
	</context-param>
	<filter>
		<display-name>Ajax4jsf Filter</display-name>
		<filter-name>ajax4jsf</filter-name>
		<filter-class>org.ajax4jsf.Filter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>ajax4jsf</filter-name>
		<servlet-name>Faces Servlet</servlet-name>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
	</filter-mapping>

	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>

</web-app>
bebad

e os jars estão na lib do projeto ?

bebad

http://jsf.javabeat.net/articles/2007/06/introduction-to-ajax4jsf/3

Criado 15 de junho de 2007
Ultima resposta 3 de ago. de 2007
Respostas 9
Participantes 5