ModalPanel (que agora é popupPanel) no Richfaces 4 não funciona!

Boa tarde galera, tudo bem?
Não sei se algum de vocês já passaram por essa situação, do popup panel não funcionar em uma aplicação.
Para ter certeza, criei no mesmo projeto uma página com o mesmo código que é disponibilizado no Showcase do Richfaces e mesmo assim não funcionou!

Meu código:


<?xml version="1.0" encoding="ISO-8859-1" ?>
<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:rich="http://richfaces.org/rich"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:c="http://java.sun.com/jsp/jstl/core">  

<head>
<title>Gestão Musical</title>
    <link rel="stylesheet" type="text/css" href="../estilos/estilos.css"/>
</head>
<body>
<f:view>
    <h:form>
        <h:outputText styleClass="titulo" value="Cadastro de Gêneros"></h:outputText>

        <rich:panel style="height: 15px;" />

        <h:dataTable  var="genero" value="#{generoBean.generos}">
            <h:column>
                <f:facet name="header">
                    <h:outputText value="Código"/>
                </f:facet>
                <h:outputText value="#{genero.codigo}"/>
            </h:column>
            <h:column>
                <f:facet name="header">
                    <h:outputText value="Nome"/>
                </f:facet>
                <h:outputText value="#{genero.nome}"/>
            </h:column>
            <h:column>
                <a4j:commandLink actionListener="#{generoBean.alteraGenero}" value="Alterar">
                    <f:setPropertyActionListener value="#{genero}" target="#{generoBean.genero}" />
                </a4j:commandLink>
            </h:column>
            <h:column>
                <h:commandLink value="Excluir" >
                    <rich:componentControl target="popup" operation="show" />
                </h:commandLink>
            </h:column>
        </h:dataTable>

        <rich:panel style="height: 50px;" />

        <h:panelGrid columns="2">
            <h:column>
                <h:outputText value="Nome"/>
            </h:column>
            <h:column>
                &lt;h:inputText value="#{generoBean.genero.nome}"/&gt;<p/>
            &lt;/h:column&gt;
            &lt;h:column&gt;
                &lt;h:commandButton actionListener="#{generoBean.addGenero}" value="Adicionar"/&gt;
            &lt;/h:column&gt;
            &lt;h:column&gt;
                &lt;h:commandButton actionListener="#{generoBean.limpaCampos}" value="Limpar Campos"/&gt;
            &lt;/h:column&gt;
        &lt;/h:panelGrid&gt;

    &lt;rich:popupPanel id="popup" modal="true" resizeable="true" onmaskclick="#{rich:component('popup')}.hide()"&gt;
        &lt;f:facet name="header"&gt;
            &lt;h:outputText value="Simple popup panel" /&gt;
        &lt;/f:facet&gt;
        &lt;f:facet name="controls"&gt;
           &lt;h:outputLink value="#" onclick="#{rich:component('popup')}.hide(); return false;"&gt;
               X
           &lt;/h:outputLink&gt;
        &lt;/f:facet&gt;
        <p>You can also check and trigger events if the use clicks outside of the
        panel.</p>
        <p>In this example clicking outside closes the panel.</p>
    &lt;/rich:popupPanel&gt;
    &lt;/h:form&gt;
&lt;/f:view&gt;
&lt;/body&gt;
&lt;/html&gt;

Código do shwocase:

&lt;ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich"&gt;
    &lt;h:commandButton value="Call the popup"&gt;
        &lt;rich:componentControl target="popup" operation="show" /&gt;
    &lt;/h:commandButton&gt;
    &lt;rich:popupPanel id="popup" modal="true" resizeable="true"
        onmaskclick="#{rich:component('popup')}.hide()"&gt;
        &lt;f:facet name="header"&gt;
            &lt;h:outputText value="Simple popup panel" /&gt;
        &lt;/f:facet&gt;
        &lt;f:facet name="controls"&gt;
            &lt;h:outputLink value="#"
                onclick="#{rich:component('popup')}.hide(); return false;"&gt;
                    X
                &lt;/h:outputLink&gt;
        &lt;/f:facet&gt;
        <p>You can also check and trigger events if the use clicks outside of the
        panel.</p>
        <p>In this example clicking outside closes the panel.</p>
    &lt;/rich:popupPanel&gt;
&lt;/ui:composition&gt;

Por favor, me ajudem!
Obrigado!

Guri.

Você tem algum erro?

Ao invés de já querer usar composistion, tente com algo mais fácil, coloque o popup na mesma tela.

No meu trabalho, o popup é incluído ao final da página em questão mas não por composition.

Não sei como o richfaces se comporta desse modo.

Olá!
Não dá erro nenhum não! Mas é isso mesmo que eu fiz no primeiro código!
O segundo código eu só copiei e colei do mesmo jeito que estava lá no showcase do Richfaces!
No meu trabalho eu também uso dessa forma, mas a diferença é que lá é Richfaces 3.3 e eu estou usando o 4.
Tem alguma ideia do que possa ser cara?

Estou com um problema parecido. Em meu projeto a view está mais ou menos assim:

<rich:extendedDataTable ... >

<a4j:ajax execute="@form"
                                      event="selectionchange" 
                                      listener="#{testeController.selectionListener}"
                                      render=":res"/>
<rich:column>
....
</rich:column>
</rich:extendedDataTable>

<a4j:outputPanel id="res"> (visão do dado referente à linha clicada)
...
</a4j:outputPanel>

<rich:contextMenu> (menu de contexto ao clicar uma linha com o botao direito)
...
</rich:contextMenu>

<rich:popupPanel> (pop up com campos para edicao da linha clicada)
...
<h:panelGrid id="popupEditarContent">
</h:panelGrid>
...
</rich:popupPanel>

O que acontece é:

  • Faço o deploy da aplicação;
  • O a4j:ajax que chama o selectionListener não funciona ao clicar em uma linha qualquer da tabela, logo nenhum outro componente dependente de ajax (contextMenu, outputPanel e popupPanel) funciona;
  • Vou ate o código fonte da visão, removo todo o conteúdo do panelGrid dentro do popupPanel e salvo o arquivo;
  • Na visão, atualizo a página. Agora os componentes funcionam exceto o popup que foi removido;
  • Volto até o código fonte, devolvo o conteúdo do panelGrid e salvo;
  • Na visão atualizo a página novamente e todos os componentes funcionam.

Mistério profundo.