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

  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008
  • xdadevelopers

    xdadeveloper

    25 Aralık 2009