2010-04-19 19 views

cevap

9

, istek tarafından fasulye kapsamlı alabilirsiniz:

Bean bean = (Bean) request.getAttribute("beanName"); 

ve oturum ile fasulye kapsamlı:

Bean bean = (Bean) request.getSession().getAttribute("beanName); 

ve uygulama ile fasulye kapsamlı: Bildiğim kadarıyla

Bean bean = (Bean) getServletContext().getAttribute("beanName"); 
+0

Bildiğim kadarıyla fasulye JSF tarafından hevesle başlatılmadı. Bu yüzden, eğer JSF katmanı ile daha önce hiç erişilmemişse, bu başarısızlığa uğrayacaktır. – lexicore

+1

@lexi: Bu doğru. Bununla birlikte, bu fasulyeleri zaten oluşturulmuş olanları yakalamak yerine bir sunucuda kendiniz yaratmanız gerekiyorsa, yaklaşım/tasarımda daha fazla yanlış bir şey var demektir. Ya görev bir JSF fasulyesi tarafından tamamlanacak ya da belirli bir görev için JSF'ye ihtiyacınız yok. Söylemek zor çünkü OP'nin gerçek fonksiyonel gereksinimi belirsiz. Bir Servlet temel olarak sadece bir sayfa/ön denetleyici olduğunu unutmayın, FacesServlet zaten dolu olan iş. Belki de servlet çok fazla yapıyor ya da OP sadece JSF fasulyesinde aynı şeyi yapamaz. – BalusC

+0

Argümanlığınızı takip edebilirim, ancak tamamen aynı fikirde değilim. JSF'yi çok iyi karşılayamayan ön-uç için fasülye yönetimi ve non-Faces servletler için JSF kullanılabilir. Örneğin, DWR gibi bir şey. Şahsen ben genellikle JSF tarafından yönetilen fasulye yerine DI için Spring'i tercih ederim, ancak JSF'nin fasülye yönetimi için fazlasıyla yeterli olduğu birçok senaryo var. – lexicore

İlgili konular