Problemas com JSF + RichFaces usando CommandButton

Pessoal, olá.

Estou apanhando com JSF, mais precisamente com a implementação do RichFaces. Pode ser bem idiota, mas não estou conseguindo mesmo.

O meu botão “Pesquisar”, que deveria disparar uma action, não faz nada. O que pode estar ocorrendo?

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<%--
    --%>




<f:subview id="status">
    <a4j:form id="status">
        <table>
            <tr>
                <td><h:outputText value="Período:" /></td>
                <td><h:inputText id="dataInicial" disabled="true" readonly="true" size="10" /></td>

                <td>    <h:outputText value="a" /> </td>

                <td><h:inputText id="dataFinal" disabled="true" readonly="true" size="10" /></td>
                <td>
                    <h:commandButton id="hoje" value="Hoje" action="blablabla" />
                </td>
            </tr>
            <tr>
                <td><h:outputText value="Tipo de NF-e:" /></td>
                <td><h:selectOneMenu id="tipoNFe" >
                        <f:selectItem itemLabel="Normal" itemValue="Normal" />
                        <f:selectItem itemLabel="Em Contingência" itemValue="Em Contingência" />
                    </h:selectOneMenu ></td>
                <td> </td>
                <td><h:outputText value="Situação da NF-e:" /></td>
                <td><h:selectOneMenu id="situacaoNFe" >
                        <f:selectItem itemLabel="Em Digitação" itemValue="Em Digitação" />
                        <f:selectItem itemLabel="Validada" itemValue="Validada" />
                        <f:selectItem itemLabel="Assinada" itemValue="Assinada" />
                        <f:selectItem itemLabel="Em Processamento" itemValue="Em Processamento" />
                        <f:selectItem itemLabel="Autorizada" itemValue="Autorizada" />
                        <f:selectItem itemLabel="Cancelada" itemValue="Cancelada" />
                        <f:selectItem itemLabel="Denegada" itemValue="Denegada" />
                        <f:selectItem itemLabel="Rejeitada" itemValue="Rejeitada" />
                    </h:selectOneMenu ></td>
            </tr>
            <tr>
                <td><h:outputText value="Série:" /></td>
                <td> <h:inputText id="serie"  size="3" maxlength="3" /></td>
                <td></td>
                <td><h:outputText value="Número:" /></td>
                <td> <h:inputText id="numeroInicial"  size="9" maxlength="9" /></td>
                <td><h:outputText value="a" /></td>
                <td><h:inputText id="numeroFinal"  size="9" maxlength="9" /></td>
            </tr>
            <tr>
                <td><h:outputText value="CNPJ/CPF do Destinatário:" /></td>
                <td> <h:inputText id="cnpjCpf"  size="14" maxlength="14" /></td>
                <td></td>
                <td><h:outputText value="UF Destinatário:" /></td>
                <td><h:selectOneMenu id="ufDestinatario" >
                        <f:selectItem itemValue="" />
                        <f:selectItem itemLabel="AC" itemValue="AC" />
                        <f:selectItem itemLabel="AL" itemValue="AL" />
                        <f:selectItem itemLabel="AM" itemValue="AM" />
                        <f:selectItem itemLabel="AP" itemValue="AP" />
                        <f:selectItem itemLabel="BA" itemValue="BA" />
                        <f:selectItem itemLabel="CE" itemValue="CE" />
                        <f:selectItem itemLabel="DF" itemValue="DF" />
                        <f:selectItem itemLabel="ES" itemValue="ES" />
                        <f:selectItem itemLabel="GO" itemValue="GO" />
                        <f:selectItem itemLabel="MA" itemValue="MA" />
                        <f:selectItem itemLabel="MG" itemValue="MG" />
                        <f:selectItem itemLabel="MS" itemValue="MS" />
                        <f:selectItem itemLabel="MT" itemValue="MT" />
                        <f:selectItem itemLabel="PA" itemValue="PA" />
                        <f:selectItem itemLabel="PB" itemValue="PB" />
                        <f:selectItem itemLabel="PE" itemValue="PE" />
                        <f:selectItem itemLabel="PI" itemValue="PI" />
                        <f:selectItem itemLabel="PR" itemValue="PR" />
                        <f:selectItem itemLabel="RJ" itemValue="RJ" />
                        <f:selectItem itemLabel="RN" itemValue="RN" />
                        <f:selectItem itemLabel="RO" itemValue="RO" />
                        <f:selectItem itemLabel="RR" itemValue="RR" />
                        <f:selectItem itemLabel="RS" itemValue="RS" />
                        <f:selectItem itemLabel="SC" itemValue="SC" />
                        <f:selectItem itemLabel="SE" itemValue="SE" />
                        <f:selectItem itemLabel="SP" itemValue="SP" />
                        <f:selectItem itemLabel="TO" itemValue="TO" />
                    </h:selectOneMenu ></td>
            </tr>
            <tr>
                <td><h:outputText value="Chave de acesso NFe:" /></td>
                <td><h:inputText id="chaveAcesso" size="44" maxlength="44" /></td>
            </tr
            <tr>
                <td><h:selectBooleanCheckbox id="danfeImpresso" label="com Danfe Impresso" /></td>

            </tr>
        </table>


        <a4j:commandButton style="align:right;" action="#{listaArquivos.todos}" value="Pesquisar" id="botao" />



    </a4j:form>


    <rich:dataTable id="tabela1" value="#{listaArquivos.notaFiscalEntityList}" var="arquivo" width="90%">
        <f:facet name="header">
            <rich:columnGroup>
                <rich:column>
                    <h:outputText value="Série" />
                </rich:column>
                <rich:column>
                    <h:outputText value="Número" />
                </rich:column>
                <rich:column>
                    <h:outputText value="Emissão" />
                </rich:column>
                <rich:column>
                    <h:outputText value="CNPJ" />
                </rich:column>
                <rich:column>
                    <h:outputText value="Nome" />
                </rich:column>
                <rich:column>
                    <h:outputText value="UF" />
                </rich:column>
                <rich:column>
                    <h:outputText value="Tipo" />
                </rich:column>
                <rich:column>
                    <h:outputText value="Situação" />
                </rich:column>
                <rich:column>
                    <h:outputText value="Danfe Impresso" />
                </rich:column>


            </rich:columnGroup>
        </f:facet>


        <rich:column>
            <h:outputText value="#{arquivo.nf.informacoesNotaFiscal.identificacao.serie}" />
        </rich:column>
        <rich:column>
            <h:outputText value="#{arquivo.nf.informacoesNotaFiscal.identificacao.numeroDocumentoFiscal}" />
        </rich:column>
        <rich:column>
            <h:outputText value="#{arquivo.nf.informacoesNotaFiscal.identificacao.dataEmissaoDocumentoFiscal}" />
        </rich:column>
        <rich:column>
            <h:outputText value="#{arquivo.nf.informacoesNotaFiscal.destinatario.cnpj}" />
        </rich:column>
        <rich:column>
            <h:outputText value="#{arquivo.nf.informacoesNotaFiscal.destinatario.nomeDestinatario}" />
        </rich:column>
        <rich:column>
            <h:outputText value="#{arquivo.nf.informacoesNotaFiscal.destinatario.enderDest.uf}" />
        </rich:column>
        <rich:column>
            <h:outputText value="#{arquivo.nf.informacoesNotaFiscal.identificacao.tipoDocumentoFiscal}" />
        </rich:column>
        <rich:column>
            <h:outputText value="#{arquivo.status}" />
        </rich:column>
        <rich:column>
            <h:outputText value="#{arquivo.nf.informacoesNotaFiscaldanfeImpresso}" />
        </rich:column>


    </rich:dataTable>






</f:subview>

Esse código acima é invocado por um outro jsp, eis o trecho:


<rich:tab label="Status das Notas">
                            <jsp:include page="status.jsp" />
                        </rich:tab>

Eis meu backing bean:


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package action.arquivos;

import action.config.ConfiguraJSF;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;
import notafiscal.NotaFiscal;
import notafiscal.NotaFiscalEntity;
import xml.notafiscal.XMLNotaFiscal;

/**
 *
 * @author Felipe
 */
public class ListaArquivosJSF {
    
    // "Coisas" que não variam durante a execução

    private static int incrementador;

    //0
    private static final int DIGITADA = incrementador++;
    //1
    private static final int ASSINADA = incrementador++;
    //2
    private static final int TRANSMITIDA = incrementador++;
    //3
    private static final int VALIDADA = incrementador++;
    //4
    private static final int RETORNADA = incrementador++;
    //5
    private static final int CONTINGENCIADA = incrementador++;
    private static final String EXTENSION_FILE_PATTERN = "lot.xml";
    private static final List<NotaFiscalEntity> nfEntityCache = new ArrayList<NotaFiscalEntity>();
    private List<NotaFiscalEntity> notaFiscalEntityList = new ArrayList<NotaFiscalEntity>();

    public List<NotaFiscalEntity> getNotaFiscalEntityList() {
        return notaFiscalEntityList;
    }

    public void setNotaFiscalEntityList(List<NotaFiscalEntity> notaFiscalEntityList) {
        this.notaFiscalEntityList = notaFiscalEntityList;
    }

    public ListaArquivosJSF() {
        //lista();
    }
// Colocado fora do 'lista' para melhor performance
    private static final FileFilter fileFilter = new FileFilter() {

        public boolean accept(File file) {
            return file.getName().toLowerCase().endsWith(EXTENSION_FILE_PATTERN);
        }
    };



    public void todos() {
        ConfiguraJSF config = new ConfiguraJSF();
        try {
            config.loadConf();
        } catch (Exception e) {
            e.printStackTrace();
        }


        //Mapeando os diretórios a partir de configurações da aplicação
        File diretorioDigitadas = new File(config.getSettings().getCaminhoNotas());
        File diretorioAssinadas = new File(config.getSettings().getCaminhoNotasAssinadas());
        File diretorioTransmitidas = new File(config.getSettings().getCaminhoNotasTransmitidas());
        File diretorioValidadas = new File(config.getSettings().getCaminhoNotasValidadas());
        File diretorioRetorno = new File(config.getSettings().getCaminhoNotasRetorno());
        File diretorioContingencia = new File(config.getSettings().getCaminhoNotasContingencia());


        File fList[] = this.listAllTheFiles(diretorioDigitadas);

        this.convertXMLFilesToNFBeans(fList, DIGITADA);


        fList = this.listAllTheFiles(diretorioAssinadas);

        this.convertXMLFilesToNFBeans(fList, ASSINADA);

        fList = this.listAllTheFiles(diretorioTransmitidas);

        this.convertXMLFilesToNFBeans(fList, TRANSMITIDA);

        fList = this.listAllTheFiles(diretorioValidadas);

        this.convertXMLFilesToNFBeans(fList, VALIDADA);

        fList = this.listAllTheFiles(diretorioRetorno);

        this.convertXMLFilesToNFBeans(fList, RETORNADA);

        fList = this.listAllTheFiles(diretorioContingencia);

        this.convertXMLFilesToNFBeans(fList, CONTINGENCIADA);

        
    }

    private File[] listAllTheFiles(File diretorio) {
        return diretorio.listFiles(fileFilter);

    }

    private void convertXMLFilesToNFBeans(File[] fList, int param) {


        try {


            for (int i = 0; i < fList.length; i++) {
                if(param == 2)
                XMLNotaFiscal.xmlToLoteNotaFiscal(EXTENSION_FILE_PATTERN);
                else{
                NotaFiscal nf = XMLNotaFiscal.xmlToNotaFiscal(fList[i]);

                notaFiscalEntityList.add(new NotaFiscalEntity(nf, param));}
            }
        } catch (Exception e) {
        }




    }
}

Agradeço qualquer ajuda.

O codigo acima esta em uma view? Poste o codigo todo para gente dar uma olhada.