Usando o DataModel no JSF!

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

[code]
<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>[/code]

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!