| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/05/2005 14:32:10
|
javinha2004
JavaTeenager
Membro desde: 30/04/2004 09:00:53
Mensagens: 169
Offline
|
Pessoal,
tenho uma página jsp onde há uma textarea. O usuário escreve nela e submete, sendo que ele volta para a mesma pagina, que agora tem o que ele digitou aparecendo em outro local, em html. Acontece que se ele der um reload na página com o navegador, a mesma informação é gravada duas vezes, e fica repetida na página. Tem como evitar isso, sem ter que percorrer e comparar todos os textos que o usuário já digitou toda vez que for carregar a página?
Valeu.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/05/2005 15:38:30
|
kina
JavaEvangelist
![[Avatar]](/images/avatar/3db11d259a9db7fb8965bdf25ec850b9.png)
Membro desde: 04/08/2004 18:53:19
Mensagens: 340
Localização: Sampa
Offline
|
use a session para saber isso
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/05/2005 11:03:24
|
javinha2004
JavaTeenager
Membro desde: 30/04/2004 09:00:53
Mensagens: 169
Offline
|
kina wrote:use a session para saber isso 
Desculpe, não entendi...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/05/2005 11:17:01
|
dark.wizzard
Thread.start()
![[Avatar]](/images/avatar/6516c28727509c3db6280ae16254e916.jpg)
Membro desde: 31/08/2004 11:54:30
Mensagens: 46
Localização: Porto Alegre/Brasil
Offline
|
Pelo que entendi seria o seguinte... Quando você submete o texto, grave na session algo do tipo "new"; vá para o componete/página de processamento da requisição e compare se existe na session o "new". Se existir grave, senão existir não grave.
Depois de gravar o texto, apague da session o "new"... Acho que isso deve te dar uma luz.
Cheers,
|
Existem 2 tipos de programadores:
Aqueles que usam JAVA e aqueles que não usam...
::  |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/05/2005 11:38:27
|
kina
JavaEvangelist
![[Avatar]](/images/avatar/3db11d259a9db7fb8965bdf25ec850b9.png)
Membro desde: 04/08/2004 18:53:19
Mensagens: 340
Localização: Sampa
Offline
|
Se vc ficar com esse negócio de new não vai dar certo, mas poderia fazer algo parecido com isso.
Salve o tempo da requisisão(Metodo existente no HttpSession), assim vc conseguirá validar.
Falou
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/05/2005 14:54:38
|
psevestre
JavaEvangelist
Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline
|
Complementando:
A técnica sugerida combina um "token" armazenado na sessão juntamente com um campo "hidden" do formulário. A lógica é a seguinte:
1. No controller que recebe a requisição da página que _apresenta_ o formulário, gere um número aleatório (em sites de baixo tráfego, pode até ser o System.currentTimeMillis() ). Salve este valor na sessão sob um nome conhecido, tal como "nomedoform.token". Na página em si, use um input hidden cujo valor será preenchido com o valor do atributo "nomedoform.token". Dê ao mesmo um nome que faça sentido, "token", p.ex.
2. No controller que recebe o POST do formulário, compare o valor da variável "token" recebida no request ao valor do atributo "nomedoform.token". Se o atributo não existir ou seu valor for diferente do submetido, redirecione para a mensagem de erro "formulário já enviado". Caso contrário prossiga no processamento do mesmo.
|
http://justaphilpicks.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/05/2005 10:56:01
|
javinha2004
JavaTeenager
Membro desde: 30/04/2004 09:00:53
Mensagens: 169
Offline
|
Valeu, galera.
Vou tentar implementar o que vcs estão sugerindo.
|
|
|
 |
|
|