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