我有一个servlet,它会在某些条件下使用ExternalContext.redirect导航到JSF页面。 我需要初始化此Servlet中的Managed Bean并将其设置在请求范围内,以便我的JSF页面可以直接访问Managed Bean的属性并在页面加载时显示它们。
我见过使用getServletContext()
设置bean的帖子像,
getServletContext().setAttribute("beanName",new Bean())
它的工作原理。但这种方法是将bean设置在应用程序范围而不是请求范围。
我也尝试了以下内容:
request.setAttribute("beanName",new Bean())
它不起作用
请允许我知道是否有任何方法可以在请求范围内设置/初始化托管bean
答案 0 :(得分:0)
如果它是请求范围的bean,请使用HttpServletRequest#setAttribute()
BeanName beanName = new BeanName();
request.setAttribute("beanName", beanName);
如果是会话范围的bean,
request.getSession().setAttribute("beanName", beanName);