6
respostas

Como acessar um Component de sessão em um Controller?

Estou com a seguinte dúvida. Acompanhando a aula 8 do curso VRaptor4, é mostrado o exemplo de um component que fica disponível na sessão do usuário. Caso precise recuperar e modificar esse component em algum controller como devo proceder? devo enviar via form?

@SessionScoped
@Named
public class UsuarioLogado {

    private Usuario usuario;

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }    
}
6 respostas

Basta receber injetado no construtor do controller :).

Alberto,

Eu fiz isso, porém ele está vindo nulo, o que você acha que pode estar acontecendo?

Calma ê, vc marcou um atributo com @Inject e ta sendo injetado nulo? Ou o getUsuario ta retornando nulo? Se for o segundo, é pq ninguém setou o usuário.

Alberto,

Na verdade fiz uma confusão, no meu inspetor do eclipse ele aparecia como null, mas o get retorna os objetos sim.

Aproveitando a thread estou testando um @aplicationscoped para acessar ele eu injeto ele do mesmo jeito que venho fazendo?

sim da mesma forma que faz com os objetos em session, basta receber por injeção no construtor ou anotar com @Inject