Como gravar um objeto na sessão?

2 respostas
P

Pois é galera, como eu faço para gravar um objeto na sessão? A aplicação é implementada em JSF e roda no tomcat.

Eu preciso gravar o objeto via java, ou seja, pelo código no arquivo java e não pelo jsp.

Como eu faço isso?

2 Respostas

A

Esse método vc usa para pegar a sessão

public HttpSession getSession() {

		return (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);

	}

para gravar um objeto na sessao é só usar

getSession.setAttribute("objeto", teuObjeto);

e para recuperar um objeto

Object teuObjeto = (Object) getSession.getAttribute("objeto");

ou se preferir pode também usar esses.
para gravar na sessão

public static void storeOnSession(FacesContext ctx, String key, Object object) {
		Map sessionState = ctx.getExternalContext().getSessionMap();
		sessionState.put(key, object);
	}

para recuperar

public static Object getOnSession(FacesContext ctx, String key){

		Map sessionState = ctx.getExternalContext().getSessionMap();

		return sessionState.get(key);

	}
B
\\encapsular a sessão já existente
HttpSession session = request.getSession();

\\colocar atributo na sessao
sessao.setAttribute("nomeDoObjeto", objeto);
Criado 19 de agosto de 2008
Ultima resposta 19 de ago. de 2008
Respostas 2
Participantes 3