[JSF] Dúvida com redirect

2 respostas
B

Pessoal,

Estou começando a utilizar JSF em algumas aplicações e fiquei com uma dúvida sobre a tag , utilizada no faces-config.xml. Li bastante a respeito e entendi a diferença entre redirects e forwards, mas minha dúvida é a seguinte: se eu não utilizar a tag redirect, como faço para mudar o endereço da barra de status?

Não vejo coerência alguma em mostrar ao usuário a página anterior a sua requisição original. Eu quero apresentar ao usuário o endereço da sua requisição original, mas usando o redirect eu perco todos os dados do request, o que também não pode acontecer. Por isso, pergunto aos experientes no JSF: como resolver isso?

Aguardo sugestões. Obrigado.

2 Respostas

B

Mas não é possível que ninguém tenha tido essa dúvida ainda…

Ninguém tem alguma sugestão, dica, ideia, qualquer coisa?
Já pesquisei um monte e não encontrei nada, não acredito que ninguém tenha passado pela mesma situação.

Obrigado.

rponte

Olá Bruno,

Antes de mais nada você pode dar uma lida neste post,
http://www.rponte.com.br/2008/07/12/repitam-comigo-redirect-nao-e-forward/

Ele vai te ajudar a entender melhor sobre redirect e forward. Além de propor uma solução logo no final.

Isso é um problema ao se trabalhar com POST. E infelizmente JSF trabalha apenas com POST, e você terá que viver com isso. Não tem muito para onde correr. Além de que, qual seria a necessidade, no seu sistema, de o usuário conhecer qual a página ele está acessando no momento? Bookmarking?

Como disse, no final do post eu comento sobre a solução, Post-Redirect-Get Pattern (PRG). E ainda passo um PhaseListener para resolver o problema. Outra solução seria se utilizar de frameworks como JBoss Seam, ele resolve isso fácil com seu controle arrojado de navegação.

Abraços e boa sorte.

Criado 28 de outubro de 2009
Ultima resposta 1 de nov. de 2009
Respostas 2
Participantes 2