| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2012 19:03:03
|
mondor
Thread.start()
Membro desde: 25/05/2011 09:48:38
Mensagens: 33
Offline
|
Fala galerinha! Tudo certo?
Pessoal, to com um probleminha racha cuca aqui haha, vejam se vocês podem me ajudar. Primeiro vou contar um pouco do funcionamento para vocês entenderem e depois meu problema real.
Tenho um sisteminha em vRaptor aqui, que possui dois menus. O menu normal, com "inicio, mensagens, meus projetos, minhas configuracoes" e também tenho um menu pertencentes ao projeto, com "atividades, planejamento, documentos, agenda".
Para este menu aparecer, eu preciso selecionar algum projeto meu. Caso contrário é mostrado no lugar "esperando seleção de um projeto".
Até agora, o sistema estava funcionando com sessão, você escolhia o projeto e ele era salvo na sessão, ai conseguia sempre acessar ele na minha página jsp (usava {userWeb.project}).
Após botamos as urls com o id do projeto, exemplo: /project/{project.id}/activity.
Show de bola!!! Funcionando certinho.
O problema é que:
- Você está vendo as atividades do projeto 1. /project/1/activity
- Seu amigo passa um link das atividades do projeto 2. /project/2/activity
Você visualiza corretamente a atividade, mas o seu menu estará ainda apontando para links do projeto 1, porque ele ta salvo na sessão!!!
O grande problema, é que meu menu (localizado em uma pasta commons) é igual para todas as páginas, sendo apenas um include em todas páginas.
Minha solução na cabeça, mas que não sei como implementar e queria uma ajuda de vocês:
- Interceptar toda url que passa {project.id} (como????) e salvar na sessão caso a id seja diferente da já setada. Então em base, se seu amigo passou um link para o projeto, você já estaria no projeto automaticamente, pq estaria salvo na sessão.
Alguém sabe como interceptar deste modo? Ou possui alguma outra alternativa?!
Obrigado pessoal!
This message was edited 2 times. Last update was at 19/01/2012 08:58:43
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/01/2012 08:41:26
|
Gerva
JavaEvangelist
![[Avatar]](/images/avatar/56448fb13eecfe67571619e16a2f9fea.jpg)
Membro desde: 30/06/2010 17:19:50
Mensagens: 321
Localização: Joinville, SC
Offline
|
N tem como o menu pegar o id que está sendo visualizado?
no caso está rodando WEB já?
Pq n entendi mto bem, o menu está na página certo? Se o ID é passado pela página, pq precisa salvar em uma sessão? Pq com sessão, abrir dois projetos, vai dar merda mesmo, a não ser que sobreescreva a sessão todas as vezes que acessar a página, mas aí n vejo motivo para ter a sessão o.O
Se a própria classe java passar o id quando for carregado o menu, não precisara da sessão, e não irá ter este problema, mesmo com duas páginas abertas em projetos diferentes.
|
@thiagoklx
--
Thiago Gervasi Eggert
InfoCont Sistemas Integrados |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/01/2012 08:57:41
|
mondor
Thread.start()
Membro desde: 25/05/2011 09:48:38
Mensagens: 33
Offline
|
Gerva, já resolvi isso por um jeito aqui.
No caso, eu preciso disso salvo na sessão.
Criei um interceptor em todas as urls que possuem /projects/id com uma expressão regular.
Nesta url eu identifico se o projeto é diferente ou não do já salvo, e troco. Futuramente vai ser melhor ainda, para conseguir controlar permissões/acessos.
Abraços!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/01/2012 09:09:49
|
Gerva
JavaEvangelist
![[Avatar]](/images/avatar/56448fb13eecfe67571619e16a2f9fea.jpg)
Membro desde: 30/06/2010 17:19:50
Mensagens: 321
Localização: Joinville, SC
Offline
|
Mas e se eu estou com o projeto 1 aberto, aí abro uma nova aba com o projeto 2, quando eu voltar pro projeto 1 não vai ferrar?
Será que não era melhor manter um vetor como variável de sessão?
|
@thiagoklx
--
Thiago Gervasi Eggert
InfoCont Sistemas Integrados |
|
|
 |
|
|
|
|