ActionListener JSF - sem resposta do servidor ao chamar um actionListener

Boa noite,

Não estou conseguindo fazer o botao (ou link) chamar o actionListener.

Página:

<html>
<body>
	<f:view>
		<h:form>
			<h:outputText value="Moveis mais votados dos tipos selecionados: " />
			<h:panelGrid columns="1" border="1">
				<h:dataTable value="#{buscaPorTipoMaisVotado.listaProdutos}"
					var="movel" border="1">
					<h:column>
						<h:commandButton action="#{mostrarMovel.detalhesMovel}"
							value="prod_#{movel.idProduto }" actionListener="#{mostrarMovel.processAction}">
							<f:param id="idProduto" name="idProduto" value="#{movel.idProduto}" />
						</h:commandButton>
					</h:column>
				</h:dataTable>
			</h:panelGrid>
		</h:form>
	</f:view>
</body>
</html>

faces:

<managed-bean>
		<managed-bean-name>mostrarMovel</managed-bean-name>
		<managed-bean-class>br.com.einteriors.controller.MostrarMovel</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
		<navigation-case>
			<from-outcome>mostrarMovel</from-outcome>
			<to-view-id>/mostrarMovel.jsp</to-view-id>
		</navigation-case>
</navigation-rule>

Classe:

public class MostrarMovel {

	public int getIdProduto() {
		return idProduto;
	}

	public void setIdProduto(int idProduto) {
		this.idProduto = idProduto;
	}

	public String detalhesMovel() {
		// this.pBean = p.buscaProduto(this.idProduto);
		return "mostrarMovel";
	}
	
	public void selecionaProduto(ActionEvent e) {
		UIParameter component = (UIParameter) e.getComponent()
				.findComponent("idProduto");
		Integer id = (Integer) component.getValue();
		System.out.println("id: " + id);
	}

}

Quando executo o código simplesmente não acontece nada no console e a pagina que estou é recarregada com o datatable vazio.

Alguém pode me ajudar, por favor?

Grata,

Viviane

coloca immediate=true no seu commandButton.

t+

Oi,

Coloquei o immediate=“true”, mas mesmo assim não foi…

faz assim e ve se funciona

public class MostrarMovel {  

	private Movel movel;
	
	public Movel getMovel() {  
		return movel;  
	}  
  
	public void setMovel(Movel movel) {  
		this.movel = movel;  
	} 
  
	public int getIdProduto() {  
		return idProduto;  
	}  
  
	public void setIdProduto(int idProduto) {  
		this.idProduto = idProduto;  
	}  
  
	public String detalhesMovel() {  
		// this.pBean = p.buscaProduto(this.idProduto);  
		return "mostrarMovel";  
	}  
	  
	public void selecionaProduto() {
		System.out.println("id: " + movel.getIdProduto());  
	}  
}  

<h:commandButton  immediate="true" value="prod_#{movel.idProduto }" actionListener="#{mostrarMovel.processAction}">  
	<f:setPropertyActionListener value="#{movel}" target="#{mostrarMovel.movel}"/> 
</h:commandButton> 

t+