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