如何@ApplicationScoped
用我自己的副本替换托管 bean FacesContext
?我所拥有的只是一个实例FacesContext
(我在 JSFUnit 中)。
问问题
2910 次
1 回答
4
应用程序范围的 bean以托管 bean 名称作为键存储在应用程序映射中。
所以,这应该这样做:
FacesContext.getCurrentInstance().getExternalContext()
.getApplicationMap().put("managedBeanName", new Bean());
顺便说一句,在 JSF 下更深入地涵盖了 Servlet API,应用程序映射只是ServletContext
属性的映射。知道什么时候你只有ServletContext
手头的事情很有用。在同一行中,会话映射映射到HttpSession
属性,请求映射到HttpServletRequest
属性。分别将它们用于会话和请求范围的 bean。
于 2011-03-02T21:26:07.170 回答