2 ou mais DataTables em um mesmo form (JSF)

Boa tarde galera,
estou iniciando nos estudos no JSF então estava fazendo alguns testes com 2 DataTables (Tomahawk) e cada um tem um commandLink com action para exibir os dados do item selecionado.
O primeiro lista as enquetes, o segundo lista as opções da enquete selecionada na primeira tabela.
Legal, o dataTable 1 funciona perfeito, clico lá exibe os dados da enquete e preenche o dataTable 2 com as opções.
Agora no dataTable 2 o action simplesmente não é invocado, clica-se no link a página é recarregada mas não chama o método.
Está assim o dataTable 1:

[code] <t:dataTable
value="#{enqueteAction.listaEnquete}"
var="dados"
binding="#{enqueteAction.dataTable}">

      &lt;h&#58;column&gt;
        &lt;f&#58;facet name=&quot;header&quot;&gt;
          &lt;h&#58;outputText value=&quot;Código&quot;/&gt;
        &lt;/f&#58;facet&gt;
        &lt;t&#58;commandLink 
            actionListener=&quot;#&#123;enqueteAction.exibirDadosAction&#125;&quot;
            value=&quot;#&#123;dados.codigo&#125;&quot;/&gt;
      &lt;/h&#58;column&gt;

      &lt;h&#58;column&gt;
        &lt;f&#58;facet name=&quot;header&quot;&gt;
          &lt;h&#58;outputText value=&quot;Pergunta&quot;/&gt;
        &lt;/f&#58;facet&gt;
        &lt;h&#58;outputText value=&quot;#&#123;dados.pergunta&#125;&quot;/&gt;
      &lt;/h&#58;column&gt;          
      
    &lt;/t&#58;dataTable&gt;[/code]

Funciona perfeito. Agora o dataTable 2:

[code] <h:dataTable
value="#{enqueteOpcaoAction.listEnqueteOpcoes}"
var="dadosOp"
binding="#{enqueteOpcaoAction.dataTableOpcao}">

        &lt;h&#58;column&gt;
          &lt;f&#58;facet name=&quot;header&quot;&gt;
            &lt;h&#58;outputText value=&quot;Código&quot;/&gt;
          &lt;/f&#58;facet&gt;
          &lt;h&#58;commandLink 
              actionListener=&quot;#&#123;enqueteOpcaoAction.incluirAction&#125;&quot;
              value=&quot;#&#123;dadosOp.codigo&#125;&quot;/&gt;
        &lt;/h&#58;column&gt;
        
        &lt;h&#58;column&gt;
          &lt;f&#58;facet name=&quot;header&quot;&gt;
            &lt;h&#58;outputText value=&quot;Descrição&quot;/&gt;
          &lt;/f&#58;facet&gt;
          &lt;h&#58;outputText value=&quot;#&#123;dadosOp.descricao&#125;&quot;/&gt;
        &lt;/h&#58;column&gt;
        
    &lt;/h&#58;dataTable&gt;[/code]

Não chama o método, inclui um logger.info logo na primeira linha para saber se está passando por lá, mas nada é registrado no arquivo de log.
Código do action da primeira tabela:

public void exibirDadosAction&#40;ActionEvent event&#41; &#123; msg = &quot;&quot;; try &#123; //atualizar o managedBean enquete de acordo com o item selecionado no DataTable registroAtual&#40;&#41;; if &#40;enquete != null&#41; &#123; setEnqueteManaged&#40;&#41;; &#125; &#125; catch &#40;Exception err&#41; &#123; logger.error&#40;&quot;Erro ao exibir&#58; &quot;, err&#41;; &#125; &#125;
Action da segunda tabela:

public void exibirDadosOpcaoAction&#40;ActionEvent event&#41; &#123; logger.info&#40;&quot;Passou action opcao.&quot;&#41;; msg = &quot;&quot;; try &#123; registroAtualOpcao&#40;&#41;; if &#40;enqueteOp != null&#41; &#123; setEnqueteOpcaoManaged&#40;&#41;; &#125; &#125; catch &#40;Exception err&#41; &#123; logger.error&#40;&quot;Erro ao exibir dados da opção da enquete&#58;&quot;, err&#41;; &#125; &#125;
Neste segundo sequer passa pelo logger…
Está tudo mapeado no faces-config:

[code] <managed-bean>
<managed-bean-name>enquete</managed-bean-name>
<managed-bean-class>com.mrinfo.controle.Enquete</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>

<managed-bean>
<managed-bean-name>enqueteAction</managed-bean-name>
<managed-bean-class>com.mrinfo.action.EnqueteAction</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>

<managed-bean>
<managed-bean-name>enqueteOpcao</managed-bean-name>
<managed-bean-class>com.mrinfo.controle.EnqueteOpcao</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>

<managed-bean>
<managed-bean-name>enqueteOpcaoAction</managed-bean-name>
<managed-bean-class>com.mrinfo.action.EnqueteOpcaoAction</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>[/code]
Sempre q tento utilizada 2 dataTables dá algum problema na chamada de actions…
alguem sabe pq acontece isso… :([/code]

Não sei se isto eh um bug do JSF, ou se eh alguma coisa que eu nao conheço. Mas ja tive problemas com CommandLink. Aqui em um sistema eu tentei por muito tempo usar o commandLink, mas nao funcionava, entao troquei o CommandLink por um commandButton e funcionou. Isso ja aconteceu varias vezes.

Se vc achar uma solução ou uma explicação para isto, poste ai a solução.

falow…

rapaz… fiz algo aqui que o treco funcionou… mas foi bizarro. -_-
primeiro tentei com o commandButton como vc falou e nada, só funcionava o da primeira tabela. blz
então, cheguei no managedBean e alterei o atributo código para 20 que é um registro que tem opções para eu não ter que clicar para visualizar os dados da segunda tabela, blz.
daí retirei a primeira tabela da página (recortei todo o código do dataTable 1) deixando só o segundo, e… funcinou! -_____-
então troquei para commandLink novamente e continuou funcionando… então peguei o código do primeiro dataTable e coloquei novamente na página… daí rodei novamente e… os 2 agora estão funcionando!!! :confused:
então parei o tomcat, fechei netbeans reinciei máquina e continua funcionando…
eu sinceramente não entendi o pq… mas tá funfando, até com commandLink…

esquece o post anterior… é que eu não tinha retirado o atributo fixo, depois que voltei ao normal o problema voltou.
só pude observar que quando o managedbean estava com um código que tinha opções o treco funcionou…
ai ai…

hummm… mais uma anotação: alterei o scope do managedBean principal que é o Enquete para session que antes estava request pois não gostaria de q quando o usuário voltasse na página o conteúdo continuasse sendo exibido, mas enfim: troquei para session e funfou.