1

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

我看过使用 getServletContext() 设置 bean 的帖子

喜欢,

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

它有效。但是这种方法会将bean设置在应用程序范围而不是请求范围内。

我也尝试了以下方法:

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

它不起作用

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

4

1 回答 1

0

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

BeanName beanName = new BeanName();

request.setAttribute("beanName", beanName);

如果它是一个会话范围的 bean,

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

于 2013-06-20T04:14:23.337 回答