Ho una normale classe Java in un'applicazione web Spring MVC 3.06.Accesso all'oggetto HttpServletRequest in una normale classe Java da Spring
In questa classe mi piacerebbe iniettare o ottenere l'oggetto HttpServletRequest
in un metodo.
So che posso passare questo, ma mi chiedevo come posso ottenere la richiesta senza passare al metodo. Forse usando annotazioni o simili?
Inoltre, quali sono le "vere" preoccupazioni per ottenere la richiesta in questo modo, ad eccezione di alcune opinioni della gente che si tratta di una brutta codifica. Voglio dire, è instabile accedervi in questo modo?
Preferibilmente non dipendente dal server.
ho visto
(HttpServletRequest) RequestContextHolder.getRequestContext().getExternalContext().getNativeRequest()
, ma questo non sembra funzionare per Spring MVC 3.06. RequestContextHolder
non ha il metodo getRequestContext()
.
Grazie, sì, forse che potrebbe creare problemi durante il test, più probabile se i controller e le azioni di test. Il disaccoppiamento non sarà di grande aiuto allora, ma ho aggiunto un metodo getRequest statico che chiama un'implementazione predefinita (la precedente), che può essere sostituita. Grazie! – momomo
Vedere la mia domanda modificata per maggiori informazioni ... – momomo
Questo ha funzionato bene fino ad ora :(... Sto cercando di raggiungere la vista usando il RequestContextHolder – momomo