Pessoal, etou a praticamente 3 semanas tentando integrar de forma pela JSF+Facelets+Richfaces sem sucesso…
O problema é o seguinte:
Insiro componentes rich na página e os mesmos aparecem normalmente, porém objetos que tem algum tipo de interação (css, javascript) do próprio richfaces não funcionam gerando um erro de javascript na página dizendo que o objeto não possui os métodos.
Ja tentei de tudo, inclusive baixei um projeto demo do rich que funciona e comparando o meu projeto não existe nenhuma diferença na estrutura.
No desenvolvimento estou utilizando eclipse europa, tomcat 6.x e jdk 1.6.16
Ou seja, este código funciona normalmente permitindo usufruir das funcionalidades do simpletooglepanel (expandir,retrair):
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<head>
<title>RichFaces</title>
</head>
<body>
<rich:panel>
<f:facet name="header">
JBoss RichFaces
</f:facet>
Looks like you are up and running...
<rich:simpleTogglePanel switchType="client" label="Client Switch Type" height="90px">
The switching between showing and hiding the toggle panel content
performs on the client side.
</rich:simpleTogglePanel>
</rich:panel>
</ui:define>
</body>
</html>
Porém este código não funciona pois faz uso de template
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<ui:composition template="/templates/maintemplate.xhtml">
<head>
<title>RichFaces</title>
</head>
<body>
<ui:define name="content">
<rich:panel>
<f:facet name="header">
JBoss RichFaces
</f:facet>
Looks like you are up and running...
<rich:simpleTogglePanel switchType="client" label="Client Switch Type" height="90px">
The switching between showing and hiding the toggle panel content
performs on the client side.
</rich:simpleTogglePanel>
</rich:panel>
</ui:define>
</body>
</ui:composition>
</html>
No exemplo anterior ja tentei de tudo, sem head, sem body, com head e body fora do composition etc…
e o seguinte template
<?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: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">
<head>
<a4j:loadStyle src="/css/generic.css"/>
</head>
<body>
<div id="header">
<ui:insert name="header">
Inserir Novo Cabeçalho
</ui:insert>
</div>
<div id="menu">
<ui:insert name="menu">
</ui:insert>
</div>
<div id="content">
<ui:insert name="content">
Inserir Novo Corpo
</ui:insert>
</div>
<div id="footer">
<ui:insert name="footer">
Inserir Novo Rodapé
</ui:insert>
</div>
</body>
</html>
Por favor pessoal, me deem uma luz sobre o que pode estar acontecendo de errado…
Desde já agradeço