KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I need to know what's the best method for accessing a JSF managedBean (which is defined having application scope) from a servlet. Currently I have something like this in my servlet: MyApplicationScopeBean bean = null; try { FacesContext fContext = FacesUtil.getFacesContext(req, resp); ServletContext sc = (ServletContext) fContext.getExternalContext().getContext(); bean = (MyApplicationScopeBean) sc.getAttribute("myManagedBean"); } catch (Exception e) { e.printStackTrace(); } FacesUtil.java (as described in http://balusc.blogspot.com/2006/06/communication-in-jsf.html ): import javax.faces.FactoryFinder; import javax.faces.component.UIViewRoot; import javax.faces.context.FacesContext; import javax.faces.context.FacesContextFactory; import javax.faces.lifecycle.Lifecycle; import javax.faces.lifecycle.LifecycleFactory; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FacesUtil { // Getters ----------------------------------------------------------------------------------- public static FacesContext getFacesContext( HttpServletRequest request, HttpServletResponse response) { // Get current FacesContext. FacesContext facesContext = FacesContext.getCurrentInstance(); // Check current FacesContext. if (facesContext == null) { // Create new Lifecycle. LifecycleFactory lifecycleFactory = (LifecycleFactory) FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY); Lifecycle lifecycle = lifecycleFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE); // Create new FacesContext. FacesContextFactory contextFactory = (FacesContextFactory) FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY); fa
Tags (comma-separated)
Save Edits
Cancel