[RESOLVIDO] Variáveis na sessão  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
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

Gerva
JavaEvangelist
[Avatar]

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
[Email] [MSN]
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!
Gerva
JavaEvangelist
[Avatar]

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
[Email] [MSN]
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team