2010-04-19 11 views

Respuesta

9

en un servlet, se puede obtener petición en ámbito de las habas por:

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

y la sesión de ámbito de granos por:

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

y aplicación de ámbito de granos por:

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

Por lo como sé, los frijoles no son necesariamente instanciados con entusiasmo por JSF. Por lo tanto, esto no funcionará si no se accede a los beans a través de la capa JSF. – lexicore

+1

@lexi: Eso es correcto. Sin embargo, si necesita crear una instancia de los beans en un servlet en lugar de capturar los ya creados, entonces hay algo más incorrecto en el enfoque/diseño. O la tarea debe ser completada por un bean JSF, o no necesita JSF en absoluto para la tarea en particular. Difícil de decir porque el requisito funcional real del PO es vago. Recuerde que un Servlet es básicamente un controlador de página/frontal, el trabajo que FacesServlet ya ha cumplido. Tal vez el servlet está haciendo demasiado o el OP simplemente no hace lo mismo en un frijol JSF. – BalusC

+0

Puedo seguir su argumentación pero no estoy de acuerdo por completo. Uno puede usar JSF para servlets de gestión de beans y no faciales para front-end que no se ajusta muy bien a JSF. Por ejemplo, algo así como DWR. Personalmente, prefiero Spring para DI en lugar de beans administrados por JSF, pero hay muchos escenarios en los que JSF sería más que suficiente para la administración de beans. – lexicore