Problema ao executar action de botao com rendered

Boa tarde a todos,

estou desenvolvimento uma aplicação utlizando jsf, richfaces e facelets…

Tenho uma página bastante simples que consiste em dois campos e um botao…

ao clicar no botao é direcionado para um método do meu managedbean que busca alguns dados do banco e renderiza na tela uma

tabela e outro botao…

o problema é que este botao nao funciona a action…Nao ocorre nenhum erro, simplesmente é como se a action nao existisse…

já tentei colocar o rendered dentro de um painel e o meu botao dentro deste painel mas o problema continua…

segue o codigo da pagina

O.B.S - o codigo em destaque é o botao ‘problematico’

[code]<?xml version="1.0" encoding="UTF-8" ?>
<f:view xmlns=“http://www.w3.org/1999/xhtml
xmlns:f=“http://java.sun.com/jsf/core
xmlns:h=“http://java.sun.com/jsf/html
xmlns:ui=“http://java.sun.com/jsf/facelets
xmlns:a4j=“http://richfaces.org/a4j
xmlns:rich=“http://richfaces.org/rich”>

<html>
<head>
<title>Atualiza Equipamento Corporate</title>
</head>
<body>

<a4j:form>
	<rich:panel>
		<h:graphicImage url="/image/logo.GIF" />
	</rich:panel>
	<rich:panel header="Consultar range">
		<h:outputText value="Range Inicial: " />
		<h:inputText value="#{config.dataBean.rangeIni}">
			<f:validateLength minimum="1" maximum="30" />
		</h:inputText>
		<h:outputText value="Range Final: " />
		<h:inputText value="#{config.dataBean.rangeFim}">
			<f:validateLength minimum="1" maximum="30" />
		</h:inputText>

		<a4j:commandButton value="Consultar!" action="#{config.searchRange}"
			reRender="tabelaDadosRange,panelMigrar" />
	</rich:panel>
	<rich:spacer height="50" />
	





                           <h:panelGroup id="panelMigrar">
		<h:panelGroup rendered="#{config.mostrarTabela}">
			<a4j:commandButton value="Migrar!" action="#{config.updateEquip}" />
		</h:panelGroup>
	</h:panelGroup>
	




                             <h:panelGroup id="tabelaDadosRange">
		<h:outputText value="#{config.mensagemRetorno}" />
		<h:dataTable value="#{config.bean}" var="item" border="5"
			rendered="#{config.mostrarTabela}">
			<h:column>
				<f:facet name="header">
					<h:outputText value="NUMERO_ID" />
				</f:facet>
				<h:outputText value="#{item.numeroId}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="NUMERO" />
				</f:facet>
				<h:outputText value="#{item.numero}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="EQUIPAMENTO ASSOCIADO" />
				</f:facet>
				<h:outputText value="#{item.equipamento}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="NOME CLIENTE" />
				</f:facet>
				<h:outputText value="TESTE" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="STATUS SISNUM" />
				</f:facet>
				<h:outputText value="#{item.statusId}" />
			</h:column>
		</h:dataTable>
	</h:panelGroup>
</a4j:form>

</body>
</html>

</f:view>
[/code]

MEU MANAGED BEAN

[code]package com.gvt.atualiza.managed;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.gvt.atualiza.bean.DataBean;
import com.gvt.atualiza.bean.RangeBean;
import com.gvt.atualiza.business.Equipment;

/**

  • Managed Bean que controla as informacoes da tela principal da aplicação

  • @author G0007896

  • @since 10/2010

  • */
    public class ConfigForm {
    private Logger log = Logger.getLogger(ConfigForm.class);
    private DataBean dataBean = new DataBean();
    private boolean mostrarTabela = false;
    private String mensagemRetorno = “”;
    private List bean = new ArrayList();

    public void searchRange() {

     try {
     	if (this.getDataBean().getRangeFim().length() != 10
     			|| this.getDataBean().getRangeIni().length() != 10) {
     		mensagemRetorno = "Os campos range inicial e final devem ter 10 caracteres (99-9999 9999)";
     	} else {
    
     		log.info("range: " + this.getDataBean().getRangeIni()
     				+ " até: " + this.getDataBean().getRangeFim());
    
     		bean = Equipment.getInstance().consultRange(
     				this.getDataBean().getRangeIni(),
     				this.getDataBean().getRangeFim());
     		
     		if (bean != null && bean.size() > 0) 
     			mostrarTabela = true;
     		 else 
     			mensagemRetorno = "Nao foram localizados dados na faixa de numeração informada!";
     	}
    
     } catch (Exception e) {
     	log.error(e.getMessage(), e);
     	mensagemRetorno = "Ocorreu um erro na consulta do range informado";
     }
    

    }

    public void updateEquip(){

     log.info("Iniciando processo para atualizar range");
     
     for(RangeBean b : this.getBean()){
     	
     	System.out.println(b.getNumero());
     	
     }
    

    }

    public boolean isMostrarTabela() {
    return mostrarTabela;
    }

    public void setMostrarTabela(boolean mostrarTabela) {
    this.mostrarTabela = mostrarTabela;
    }

    public DataBean getDataBean() {
    return dataBean;
    }

    public void setDataBean(DataBean data) {
    this.dataBean = data;
    }

    public String getMensagemRetorno() {
    return mensagemRetorno;
    }

    public void setMensagemRetorno(String mensagemRetorno) {
    this.mensagemRetorno = mensagemRetorno;
    }

    public List getBean() {
    return bean;
    }

    public void setBean(List bean) {
    this.bean = bean;
    }

}
[/code]

Bom,

é isso pessoal, muito obrigado pela atenção

Leonardo De Bona

Tente assim

<h:commandButton action="#{seuBean.seuMetodo}" value="Clique!!">
<a4j:support event="onClick" reRender="seuPanel" />
</h:commandButton>

Ou assim

<a4j:commandButton action="#{seuBean.seuMetodo}"  value="Clique!!">
<a4j:support ajaxSingle="true" event="onClick" reRender="seuPanel" />
</a4j:commandButton>

Coloque um breakpoint no método e cerifique-se de que esteja sendo chamado.
Certifique-se de que ele seja public void seuMetodo(){}…

Pissike,

obrigado pela resposta, mas ainda o problema persiste.

Obrigado