[RESOLVIDO]commandbutton não executa action

Boa tarde,

Amigos, tenho uma página com uma toolbar do primefaces

<p:toolbar>  
                <p:toolbarGroup align="left">  
                    
                    <p:commandButton type="button" value="Gerenciar clientes" action="gercliente"   />  

                    <p:commandButton type="button" value="Lançamentos" />  

                    <p:commandButton type="button" value="Relatórios" />  

                    <p:commandButton type="button" value="Sistema" />  

                </p:toolbarGroup>  

Vejam que o primeiro commandButton tem um action apontando para gercliente

No meu faces-config, tenho:

<navigation-rule>
        <navigation-case>
            <from-outcome>gercliente</from-outcome>
            <to-view-id>/gercliente.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>

No entanto, esse commandButton não redireciona para gercliente.xhtml.

Já tentei usar ajax=false mas mesmo assim não funcionou.

Alguém poderia me ajudar?

Grato desde já.

Tente por no seu commando button


immediate="true"

Opa Cristian,

Já coloquei immediate=true e tbm não funcionou.

Esta usando jsf 2.0 ?

se sim faça uma metodo no seu managedbean e faça isso


public String navegarGerCliente()
{
    return "gercliente.xhtml";
}

chame o metodo no botao

Mesmo assim não funcionou Cristian.

Sim, estou usando JSF 2.0.

<p:commandButton type=“button” value=“Gerenciar clientes” action=“gercliente” />
Esse cara aí, coloque como ajax false e dentro de um form.

Valeu jakefrog, mas meu commandButton está dentro de um form, não funcionou :frowning:

Sempre usei esse o action para tal função e nunca tive problemas.

Será que é porque estou usando um template feito com facelets?

Esse menu tá numa página isolada:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html">

    <h:body>
        <h:form>
            <p:toolbar>  
                <p:toolbarGroup align="left">  
                    
                    <p:commandButton type="button" value="Gerenciar clientes" action="gercliente"  ajax="false"   />  

                    <p:commandButton type="button" value="Lançamentos" />  

                    <p:commandButton type="button" value="Relatórios" />  

                    <p:commandButton type="button" value="Sistema" />  

                    <p:separator />  

                    <p:commandButton type="button" title="Save" icon="ui-icon-disk"/>  
                    <p:commandButton type="button" title="Delete" icon="ui-icon-trash"/>  
                    <p:commandButton type="button" title="Print" icon="ui-icon-print"/>  
                </p:toolbarGroup>  

                <p:toolbarGroup align="right">  
                    <p:menuButton value="Options">  
                        <p:menuitem value="Home" url="http://www.primefaces.org" />  
                        <p:menuitem value="ShowCase"  
                                    url="http://www.primefaces.org/showcase" />  
                        <p:menuitem value="TouchFaces"  
                                    url="http://www.primefaces.org/showcase/touch" />  
                    </p:menuButton>  
                </p:toolbarGroup>  

            </p:toolbar>  
        </h:form>
    </h:body>
</html>

É a única coisa que tá diferente de outros testes meus.

Grato

Faça o teste então, primeiro tire o botão de dentro do toolbar. se não for, tenta o botão puro e seco na pagina.

Amigos,

Consegui resolver meu problema,

Antes eu tinha:

<p:commandButton type="button" value="Gerenciar clientes" action="gercliente" /> 

Tirei o type=“button”, e funcionou.
Ficou assim:

<p:commandButton value="Gerenciar clientes" action="gercliente" /> 

Não sei o porquê! Se souberem, agradeço a explicação.

Grato

Tambem desconheço o porque disso

Eita, foi mal. Não tinha reparado o button. =/

Tá aí a explicação. ^^
http://www.mkyong.com/jsf2/jsf-2-button-and-commandbutton-example/

Cara,

aproveitando o tópico.

Ao clicar no commandButton ele vai executar a action que no caso vai devolver a página gerCliente.xhtml.

Esse gerCliente.xhtml tá fazendo uso de um template, mas ele carrega toda a página. Como eu faço para que essa página seja carregada com ajax, ou seja, que a página não seja carregada por inteira, mas apenas a div que sofre alteração?

Não sei se fui claro. rs rs