Selecionando dados de uma dataTable

Olá. Eu tenho uma h:dataTable que contem dados de objetos Vars. Porém quando é clicado um botão de uma dada linha da tabela preciso apresentar mais detalhes do objeto Vars da linha clicada.

Eu queria que a tabela ficasse invisível e outra parte do código passasse a ser visível quando o botão é clicado e preciso informar a um outro objeto qual objeto Vars foi selecionado.

Porém quando o botão h:commandButton é clicado ele não executa o método que era para ser executado e ainda por cima faz uma troca de tela que nem esta especificado no faces-config.

Seguem os códigos:

classe que tem o h:commandButton

<f:view>  
      
        <html>  
            <head>  
                <LINK REL=StyleSheet HREF="estiloIndex.css" TYPE="text/css">  
                <title>SensorWeb - Instrumentação Virtual</title>  
  
            </head>  
  
             <script language="javascript">  
  
                    function aparece() {  
                        document.getElementById('div').style.visibility = "visible";  
  
  
                    }  
                      
             </script>  
  
            <body>  
                <h:form>  
                 <br>  
  
                Cliente: <h:outputLabel value="#{Cliente.userName}"/>  
  
                <h:dataTable value="#{Cliente.listVariavel}" var="l" id="tabela"   rendered="#{Cliente.deveSerRenderizado}">  
  
                      
  
                    <h:column>  
                        <f:facet name="header">  
                            <h:outputText  value="Sensor"/>  
                        </f:facet>  
                        <h:outputText value="#{l.vars.sigla}">  
  
                        </h:outputText>  
  
                    </h:column>  
                    <h:column>  
                        <f:facet name="header">  
                            <h:outputText  value="Valor"/>  
                        </f:facet>  
                        <h:outputText value="#{l.valorUltimaAq}">  
                        </h:outputText>  
                    </h:column>  
  
                    <h:column>  
                        <f:facet name="header">  
                            <h:outputText  value="Última leitura"/>  
                        </f:facet>  
                        <h:outputText value="#{l.textoData}">  
                        </h:outputText>  
                    </h:column>  
  
                    <h:column id="colBotoes">  
  
                            <f:facet name="header">  
                                <h:outputText  value="gráficos"/>  
                            </f:facet>  
  
                          
                        <h:commandButton value="lllll" onclick="{aparece()}" action="#{Cliente.pog}"/> ///// BOTÃO!  
  
                          
  
                    </h:column>  
  
                </h:dataTable>  
  
                        <div id="div" style="visibility:hidden">  
  
  
  
  
                            lalalalala  
                              
  
                            
  
                        </div>  
                        </h:form>  
            </body>  
        </html>  
      
</f:view>  

Classe que lê o objeto Vars

....  
  
private DataModel cdModel = new ListDataModel();  
  
    public void args(){  
  
        Vars v = (Vars) cdModel.getRowData();  
  
        System.out.println("args: "+v.getSigla());  
  
    }  

Porque que a commondButton não esta executando o o método args()? Pois na janela de saída não é escrito o valor de System.out.println("args: "+v.getSigla()); ???

E ele redireciona para uma outra pagina em branco!
Queria que ele apenas executasse o metodo args() permanecendo na mesma pagina.

Obrigado pela ajuda