Estou iniciando um projeto utilizando o facelets e primefaces e preciso de uma força de vocês, é o seguinte:
Criei meu modelo de template (Menu, Topo, Conteúdo)
Criei minha pagina de Login e no meu ManagedBean, após autenticação direciono o usuário para a pagina inicial, assim:
O problema é que quando é carregada minha página, os componentes do template (Topo e Menu) não são renderizados.
Fiz um teste, colocando na chamada do método de Login ‘Ajax=“false”’ e funcionou, assim:
Amigo tente usar o sendRedirect("./index.jsf") uma vez que vc tenha configurado no seu web.xml o sufixo para renderização dos XHTML como *.jsf.
Tente algo assim:
Com o send redirect vc vai fazer 2 requizições não acho o mais apropriado para o caso, não vi o código todo mais acho que ta faltando uma regra ne navegação, e vc retornar uma string no método logar com essa regra de navegação.
Quanto ao problema dele pode ter ocorrido isso devido a ele ta redirecionando para uma páginas com o suffix .xhtml sendo assim acredito que a Servlet do JSF não
processara essa páginas para montar a árvore de componente dela e assim não renderizando a mesma de forma correta.
Marcio N Carvalho o seu mapeamento servlet-mapping no web.xml esta mapeado pra qual extenção?
Caso seja *.jsf
Caro jweibe o redirect é uma opção para quando vc quer sair da sua aplicação, e vc quer fazer o browser trabalhar, ou seja vc manda um resquisição para o servidor e ele manda uma resposta para o browser com um head de location que diz para o browser fazer um novo request assim estará fazendo dois resquests para o mesmo servidor sendo que o mais certo nesse caso é vc fazer um request e ele enviar um response.
Criei a regra de Navegação, tanto pelo faces-config quanto direto no retorno do método e não rolou.
no site do primefaces http://www.primefaces.org/faq.html diz que commandlink e commandbutton não suportam navegação.
“PrimeFaces does not support forward based navigations within an ajax request, you need to do redirect instead or set ajax to false.”
Diz que é necessário usar o redirect ou ajax = false.
Confesso que agora fiquei preocupado, já que redirect não é a solução apropriada.