[RESOLVIDO]Pegar Attributo no JSF

2 respostas
rogeriosantos77

Srs, tenho uma página JSF e nessa página eu gostaria de capturar uma informação que foi setada num determiando momento atraves de um request.setAttribute().

Para pegar essa informação no JSP e enviar para um attributo no Managed Bean qual seria o melhor jeito ?
Colocar num campo hidden e depois usar o FacesContext e pegando o getExternalContext().getRequest() para dar um getAttibute ou existe uma melhor forma de fazer isso ?

2 Respostas

surfzera

cara amigo guarde o valor em sessão assim:

WebContext.setSessionAttribute(“seuObjeto”, objeto);

depois pega o valor assim:

meuObjeto = (Objeto) WebContext.getSessionAttribute(“seuObjeto”);

utilize a classe utilitaria abaixo:

public final class WebContext {

private WebContext() {
    super();
}

public static void setContextAttribute(String name, Object value) {
    FacesContext fc = FacesContext.getCurrentInstance();
    ServletContext sc = (ServletContext) fc.getExternalContext().getContext();

    sc.setAttribute(name, value);
}

public static Object getContextAttribute(String name) {
    FacesContext fc = FacesContext.getCurrentInstance();
    ServletContext sc = (ServletContext) fc.getExternalContext().getContext();

    return sc.getAttribute(name);
}

public static void setSessionAttribute(String name, Object value) {
    FacesContext context = FacesContext.getCurrentInstance();
    HttpSession sessao = (HttpSession) context.getExternalContext().getSession(false);

    sessao.setAttribute(name, value);
}

}

rogeriosantos77

Perfeito, valeu.

Criado 18 de maio de 2010
Ultima resposta 25 de mai. de 2010
Respostas 2
Participantes 2