Problemas com o commandButton

2 respostas
J

Olá. Estou fazendo uma aplicação em JSF e estou com problemas no h:commandButton!!!

Eu não sei porque que quando eu clico nele ele troca de tela.
Se eu nem especifiquei nada no faces-config.
E queria saber como eu faço para ele executar a função desaparece() que esta escrita em javascript

FACES-CONFIG:

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="2.0"
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">


    <navigation-rule>
        <from-view-id>/Index.jsp</from-view-id>
               <navigation-case>
                    <from-outcome>sucesso</from-outcome>
                    <to-view-id>/Tabela.jsp</to-view-id>
               </navigation-case>
    </navigation-rule>

    <managed-bean>
        <managed-bean-name>Cliente</managed-bean-name>
        <managed-bean-class>Beans.Cliente</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>


</faces-config>

TABELA.JSP aonde esta os métodos em javascript e o commandButton

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="WEB-INF/cewolf.tld" prefix="cewolf" %>



<%@ page language="java" import="java.sql.*" %>

<f:view>
    <h:form>
        <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";

                    }

                    function desaparece() {
                        document.getElementById('div').style.visibility = "hidden";

                    }
             </script>

            <body>
                 <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>

                        <a href="#" onclick="aparece()">clique</a>
                        <h:commandButton value="lllll" onclick="desaparece()"/> // AQUI!

                    </h:column>

                </h:dataTable>

                        <div id="div" style="visibility:hidden">




                            lalalalala
                            <a href="#" onclick="desaparece()"> clique </a>

                          

                        </div>
            </body>
        </html>
    </h:form>
</f:view>

Bom como é feita uma troca de tela eu não sei se o codigo em javascript executado pelo commandButton é realmente executado,

Obrigado!

2 Respostas

fabiomedeirosf

jhoon,

coloque seu h:form dentro do body, delimite mais.

Delimite mais.

J

fabiomedeirosf:
jhoon,

coloque seu h:form dentro do body, delimite mais.

Delimite mais.

Fiz isso mas isso não resolve meu problema.

Eu queria saber porque que qnd eu clico no commandButton ele faz uma troca de tela se nem esta especificado nada no Faces-config uma regra de navegação para ele trocar de tela quando clicado!

Criado 21 de dezembro de 2010
Ultima resposta 22 de dez. de 2010
Respostas 2
Participantes 2