H:commandLink dentro de h:dataTable não executa action

Boa noite a todos!

Estou com um problema para executar métodos através de h:commandLink localizados em h:column de uma h:dataTable. Conforme o código a seguir:

<h:dataTable value="#{turmaManagedBean.getTurmasFromProfessor()}" var="turma">
 
    	<h:column>
    		<!-- column header -->
    		<f:facet name="header">Codigo</f:facet>
    		<!-- row record -->
                        <h:commandLink actionListener="#{turmaManagedBean.teste()}" value="teste">
                                <h:graphicImage library="images" name="edit16x16.png" />
                        </h:commandLink>
    		</h:column>
 
    		<h:column>
    			<f:facet name="header">Horario</f:facet>
    				#{turma.horario}
    		</h:column>
</h:dataTable>

A função que será executada nessa página na verdade nem é a função teste(), mas coloquei essa função que é extremamente simples para apenas imprimir no log do servidor uma mensagem de teste.

É interessante ressaltar que se eu copiar o código da linha 7 a 9 para baixo do h:dataTable a função executa normalmente, mas nao é essa a idéia.

Vi em alguns lugares dizendo que usar o escopo de sessão poderia resolver o problema, mas nao funcionou.

Procurei sobre o assunto de ontem e hoje, mas mesmo em links que os autores diziam ter resolvido o problema não consegui resolver meu problema.

Alguém já passou por essa solução e conseguiu resolver? Ou tem alguma idéia que possa substituir isso?

Olá!

Não está esquecendo o <h:form />.

Sempre utilizo da segunte forma:

<h:form> <h:dataTable> <h:column> <f:facet name="reader"> Coluna </f:facet> <h:commandLink actionListener="bean.action" value="Editar" /> </h:column> </h:dataTable> </h:form>

Depois informe se resolveu ou não.

Abraço.

Essa h:dataTable está dentro de um h:form, mas como imagino que isso não tenha relação com o meu problema nem adicionei no post.

Mas obrigado pela atenção e agilidade em tentar ajudar! :smiley: