Objeto nulo na sessão

2 respostas
rso1988

Olá pessoal,

em certo momento eu adiciono um atributo Map na sessão em meu managed bean:

Managed Bean

Map<String, String> attrMap = processingBean.validateBusinessRules(request, adminUser.getId());
        session.setAttribute("attrMap", attrMap);

Nessa mesma tela, utilizo um componente externo para upload (Uploadify) que utiliza um servlet para salvar o arquivo, e durante o upload, eu pego esse objeto da sessão:

Servlet

HttpSession session = request.getSession();
        Map<String, String> attrMap = (Map<String, String>)session.getAttribute("attrMap");

O problema é que o objeto “attrMap” está nulo, mas isso só ocorre dentro do servlet. Se eu pego esse objeto dentro de outro managed bean, ele vem nomal.

Alguma ideia?

Valeu!

2 Respostas

gabbardo

Eu não sei como está o resto do teu código para dizer o q está certo ou errado, mas tenta outra coisa:

Map<String, String> attrMap = (Map<String, String>) request.getParameter("attrMap");
rso1988

Olá gabbardo,

essa forma que você sugeriu eu só consigo obter os atributos enviados no form via request, eu não consgo obter objetos da sessão.

Eu analisei melhor os objetos e percebi que quando cai no método doPost() ao fazer o post do arquivo, o Session ID é diferente do objeto quando eu faço um GET (doGet()) chamando meu servlet diretamente pela URL, ou seja, como se no post do aquivo o jsessionid não fosse enviado ao servidor.

Quando chamo o servlet diretamente pela URL (doGet()), aí eu consigo obter o objeto.

Muito bizarro!

Criado 18 de outubro de 2011
Ultima resposta 18 de out. de 2011
Respostas 2
Participantes 2