SORU
23 Temmuz 2010, Cuma


Nasıl istek kapsamlı bir fasulye içine bir HttpServletRequest enjekte mıyım?bahar:

Bahar request-scoped bean bir ayarlamaya çalışıyorum.

Başarıyla fasulye bir zamanlar isteği doğrultusunda oluşturulur bu yüzden kurdum. Şimdi, HttpServletRequest nesnesi erişim gerekiyor.

Bean bir kez isteği doğrultusunda oluşturulan bu yana, konteyner kolayca isteği benim fasulye nesne enjekte edebilir diye düşündüm. Bunu nasıl yapabilirim ?

CEVAP
24 Temmuz 2010, CUMARTESİ


Bahar HttpServletRequest geçerli nesne olarak HttpSession geçerli nesne) aracılığıyla sunarsarıcınesne türü 3**. Bu kapsayıcı nesne ThreadLocal bağlı olduğu ve static yöntemi RequestContextHolder.currentRequestAttributes() çağırarak elde edilir.

ServletRequestAttributes yöntemi getRequest() geçerli oturumu ve diğer yöntemler öznitelikleri hem kapsamları içinde saklı almak için geçerli bir istek, getSession() sağlar. Aşağıdaki kodu biraz çirkin olsa da, geçerli isteğin herhangi bir uygulamada nesne almak gerekir:

HttpServletRequest curRequest = 
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
.getRequest();

RequestContextHolder.currentRequestAttributes() Bu yöntem bir arayüz verir ve arabirimi uygulayan ServletRequestAttributes typecasted gerekiyor unutmayın.


Bahar Javadoc:RequestContextHolder | ServletRequestAttributes

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009
  • WHZGUD2

    WHZGUD2

    21 EYLÜL 2011