如何从servlet初始化请求范围中的Managed Bean

时间:2013-06-20 03:37:31

标签: jsf servlets managed-bean

我有一个servlet,它会在某些条件下使用ExternalContext.redirect导航到JSF页面。 我需要初始化此Servlet中的Managed Bean并将其设置在请求范围内,以便我的JSF页面可以直接访问Managed Bean的属性并在页面加载时显示它们。

我见过使用getServletContext()

设置bean的帖子

像,

getServletContext().setAttribute("beanName",new Bean())

它的工作原理。但这种方法是将bean设置在应用程序范围而不是请求范围。

我也尝试了以下内容:

request.setAttribute("beanName",new Bean()) 

它不起作用

请允许我知道是否有任何方法可以在请求范围内设置/初始化托管bean

1 个答案:

答案 0 :(得分:0)

如果它是请求范围的bean,请使用HttpServletRequest#setAttribute()

BeanName beanName = new BeanName();

request.setAttribute("beanName", beanName);

如果是会话范围的bean,

request.getSession().setAttribute("beanName", beanName);