| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2010 17:01:01
|
jingle
Virtual Machine Man
Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline
|
Olá estou tentando fazer um historico pra saber as paginas que carreguei e poder usar o voltar de uma forma melhor que o javascript que volta (chamando método que foi chamado para carregar a tela e passando os parametros que foi passado.).
tentei fazer da seguinte forma criei um objeto historyinfo que deixo sessionscoped e nele tem uma lista de history.
dai no meu interceptor faço da seguinte forma
para guardar o método stack e tudo mais que for preciso.
e quando quero voltar no history faço assim:
porém nao deu certo pois tem métodos que nao tem o result.redirect que simplesmente usa o default e assim após executar esse meu localhistory ele ia tentar ir para tela localHistory.jsp
tem alguma forma melhor de fazer isso?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2010 17:11:36
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
Talvez alguma coisa assim. Creio que o melhor é você guardar o método e os argumentos ao invés do resourceInstance (esse deve morrer a cada requisição(?)).
|
http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2010 17:26:01
|
jingle
Virtual Machine Man
Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline
|
método que tu diz seria o method mesmo né? não o resourceMethod.
e o args? não estou encontrando onde ele tira os args pra dar o invoke nesse method.
exemplo:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2010 21:47:52
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline
|
receba no seu construtor um MethodInfo... e chame o getParameters
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2010 21:51:48
|
jingle
Virtual Machine Man
Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline
|
Lucas Cavalcanti wrote:receba no seu construtor um MethodInfo... e chame o getParameters
mas da onde vem os parametros? pq qndo intercepto algo ele usa o Stack.next passando o ResourceMethod e um Ojbeto que é a instancia da classe (não é isso?)
onde vou conseguir os parametros que ele usa pra chamar o metodo ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2010 22:13:33
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline
|
receba no construtor do interceptor um (MethodInfo info)...
e quando for guardar no historyInfo, guarde o info.getParameters()
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2010 10:49:32
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
jingle, cabe algumas considerações sobre esse histórico. Você tem que ter em mente que nem todas as páginas deve ir para o histórico. Um exemplo é um CRUD, onde você tem 4 operações básicas: listar, editar/incluir, salvar, excluir. As operações de listar e editar/incluir podem e devem ir para o histórico, porém os métodos de salvar e excluir não devem ir para o histórico, pois uma vez que você já excluiu o registro 2, por exemplo, você não tem mais como excluir novamente o 2. Ou seja, essas operações com POST e DELETE não devem ir para seu histórico, inclusive se não me engano o Vraptor nem faz forward/redirect para métodos anotados com POST e DELETE. Outra coisa a se pensar é a integridade de dados. Se eu estava no método que visualiza o registro 2, depois excluí o mesmo, e quando eu voltar no histórico e tentar acessar a página que visualiza o registro 2 você precisa dizer que ele não existe mais.
This message was edited 1 time. Last update was at 16/07/2010 11:40:25
|
http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2010 11:01:36
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline
|
Só algumas correções:
garcia-jj wrote:(...) uma vez que você já excluiu o registro 2, por exemplo, você não tem mais como excluir novamente o 2.
Se vc implementa o DELETE direito, ele é indepotente, ou seja, excluir um recurso uma vez, ou 100 vezes da na mesma...
Mas na prática vc está certo
garcia-jj wrote:
Ou seja, essas operações com POST e DELETE não devem ir para seu histórico, inclusive se não me engano o Vraptor nem faz forward/redirect para métodos anotados com POST e GET.
o VRaptor só faz redirect para GET.
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2010 11:40:58
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
Lucas Cavalcanti wrote:
garcia-jj wrote: Ou seja, essas operações com POST e DELETE não devem ir para seu histórico, inclusive se não me engano o Vraptor nem faz forward/redirect para métodos anotados com POST e GET.
o VRaptor só faz redirect para GET.
Lucas, deveria ser POST e DELETE. Na correria me confundi, hahahaha. Já fiz a correção no meu comentário. Abraços
This message was edited 1 time. Last update was at 16/07/2010 11:42:08
|
http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum. |
|
|
 |
|
|