Quando o VRaptor disponibiliza um @SessionScoped na view

3 respostas
Rafael_Guerreiro

Olá pessoal, tudo bem?

Eu notei que se eu criar um component factory de uma classe e esse component factory é @SessionScopes, o VRaptor irá disponibilizar a component factory na view e não a classe em si.
Exemplo:

@Component @SessionScoped public class AFactory implements ComponentFactory<A> { public A getInstance(){ return new A(); } }
para acessar algum método (java bean) de A, na JSP, eu preciso:

Existe alguma forma de fazer da seguinte forma?

3 Respostas

Lucas_Cavalcanti

um dos jeitos é receber a httpSession no construtor, e fazer um set attribute…

só cuidado que o componentFactoryy é session scoped, mas o getInstance é chamado toda hora

Rafael_Guerreiro

Como assim chamado toda hora?

Então eu faria o set atributr pelo httpSession dentro do getInstance… (posso usar o result?)

Lucas_Cavalcanti

o getInstance é chamado toda vez que alguém precisa do componente A (ex. recebe no construtor)

se vc quer que o objeto A seja único por sessão, crie-o no construtor do componentFactory e já sete como atributo da session

Criado 7 de outubro de 2011
Ultima resposta 7 de out. de 2011
Respostas 3
Participantes 2