Navegação, evitar pág intermediaria no histórico do navegado

Ola galera,

  Minha duvida é a seguinte. Tenho uma página "A" que chama a página "B" que por sua vez chama a página "C" (A -> B -> C), como fazer com que a página "B" não fique no histórico, ou seja, quando o usuário estiver na página "C" e clicar no [b]"voltar do navegador"[/b]  ele vá para a pagina "A" e não para "B"?
  Ps: Estou usando struts. Observe que estou falando do botão voltar do navegador e não de um botão na minha página, o que seria muito fácil de fazer.

Hmmm… que eu saiba, nao da… mas se vc souber de algum site que faca isso, manda o link e a gente descobre :wink:

Cara realmente não sei se isso é possivel em jsp, realmente nunca vi numa página jsp, mas em asp usando o servido IIS tem cara chamado Server.Transfer() que faz isso. No momento um exemplo que me vem a cabeça é a busca de preços do buscape (www.buscape.com.br), não sei se é um bom exemplo mas tem varios sites asp que fazem, isso é muito comum.

Chamar o Server.Transfer() no ASP faz a mesma coisa que o método forward do RequestDispatcher no JSP.

Exato… ou, mais especificamente, ele redireciona (com um 302) a o browser pra nova pagina. Mas, se eu entendi bem, vc quer que o usuario veja alguma coisa no “B” da sequencia A-B-C, nao? Se for esse o caso, nao da certo (uma vez que o forward nao manda a pagina gerada (B) pro cliente, so o resultado do forward (no caso, C).

O envio do status ao browser só ocorre no sendRedirect, o forward ocorre internamente no servidor, sem que o browser saiba.

Vc já tentou alguma coisa da API do IE com JS? da pra fazer um ajuste tecnico pra fazer o que vc ta querendo! mais tipo isso é pra todos os browsers ??

Pra IE da uma olhada ai

http://msdn.microsoft.com/workshop/samples/author/dhtml/refs/onbeforeunload.htm

T+

Existe uma maneira simples de implementar isso em javascript. Basta, na no link da pagina B, usar o metodo document.location.replace(“urldapaginaC”) . Desta forma a pagina B nao ficara no historico do browser e o uso do BACK do browser voltara direto para a pagina A.