fiz isso, ai agora quando clica ele recarrega a mesma pagina, independente do que eu colocar no action
asousaj
O método menuPrincipal() está sendo executado?
Para ter certeza pode colocar um System.out.println(“qualquer coisa”); e verificar se sai na console.
A
adam_sandler
ele não chega no metodo ja fiz varios testes.
asousaj
A classe navegacaoController está com a anotação @ManagedBean ?
A
adam_sandler
não, mas coloquei agora @ManagedBean(name=“navegacaoController”)
e nada.
asousaj
Cara testei aqui e funciona perfeitamente.
Alterações:
Coloquei <h:form> logo após <h:body> e obviamente </h:form> antes de </h:body>
Modifiquei o return para
return"/principal.xhtml?faces-redirect=true";
E a anotação @ManagedBean na navegacaoController.
A
adam_sandler
criei outro botão em outro lugar e funciona o link, so que nao ta encontrando a classe,
da esse erro:
javax.el.PropertyNotFoundException: /pages/index.xhtml @41,123 action="#{navegacaoController.menuPrincipal()}": Target Unreachable, identifier ‘navegacaoController’ resolved to null
Detalhe: se colocar a pagina direta funciona. qual a vantagem de usar controladores?
asousaj
adam_sandler:
da esse erro:
javax.el.PropertyNotFoundException: /pages/index.xhtml @41,123 action="#{navegacaoController.menuPrincipal()}": Target Unreachable, identifier ‘navegacaoController’ resolved to null
Cara com a anotação @ManagedBean estando correta isso não deve acontecer.
Minha opinião:
Manutenção.
O fato de poder executar uma ação antes de redirecionar.
A
adam_sandler
o ManagedBean, tem q ser o nome da classe? e na hora de chamar chama “meubean.metodo” ?
ErickRAR
Tente sem o () na action. E no seu bean coloque apenas a anotação @ManagedBean, sem o name.
action="#{navegacaoController.menuPrincipal}"
A
adam_sandler
So funciona com o link direto, colocando a pagina dentro do action.
se eu colocar #{navegacaoController.menuPrincipal}
ele atualiza a mesma pagina.não consigo chegar no metodo de forma alguma.
M
mozena
Segue algumas coisas para você checar :
Essa pagina existe algum campo obrigatório que esteja utilizando a propriedade required=“true”. Se sim, você deve adicionar no botão a propriedade imediate=“true”.
Sua classe deve conter alguma anotação: @ManagedBean ou @Controller, depende do que você está utilizando.
Para confirmar que seu managedBean está funcionando corretamente, olhe no log do servidor e procure pelo nome do seu bean.
Abraços,
Felipe Mozena
A
adam_sandler
mozena:
Segue algumas coisas para você checar :
Essa pagina existe algum campo obrigatório que esteja utilizando a propriedade required=“true”. Se sim, você deve adicionar no botão a propriedade imediate=“true”.
Sua classe deve conter alguma anotação: @ManagedBean ou @Controller, depende do que você está utilizando.
Para confirmar que seu managedBean está funcionando corretamente, olhe no log do servidor e procure pelo nome do seu bean.
Abraços,
Felipe Mozena
Sim, existe, mas ja coloquei imediate=“true” e nada.
Olá,conseguiresolveroproblemaapenascolocandoo(name=“NavegacaoController”)doManagedBean,emudandooreturnparaapenasreturn“principal.xhtml”; (ja que esta no mesmo diretorio)
testei outras paginas em outros diretorios e funcionou tambem, creio que o erro principal foi o que o adriano ai falou, os campos estavem esperando beans,ai colocando os valores e fazendo essas alterações funcionou =)
vlw mais uma vez.