danieldestro 3 de jul. de 2009
Não sei muito a respeito do "bean" do Spring, mas você pode fazer uma solução ad hoc , vulgo gambiarra.
ServletFilter -> Joga o request em um ThreadLocal
Bean -> Pega o request do ThreadLocal
Exemplo (parcial):
public class RequestTransporter {
private static final ThreadLocal & lt ;HttpServletRequest> tl = new ThreadLocal<HttpServletRequest>();
public static void set ( HttpServletRequest req ) {
tl .set ( req ) ;
}
public static HttpServletRequest get ( ) {
return tl .get () ;
}
}
No Filter:
RequestTransporter.set(request);
No seu Bean:
request = RequestTransporter.get();
É acoplamento indevido, mas...
bsl.lacerda 3 de jul. de 2009
Descobri.
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
Cookie [] cookies = request.getCookies();
Obrigado!
danieldestro 3 de jul. de 2009
Ah tá! Só faltou você dizer que era um backing bean do JSF… hehehehe :lol:
bsl.lacerda 3 de jul. de 2009
Por que não é um backing bean. :lol:
danieldestro 3 de jul. de 2009
Mas é JSF.