我试图更好地理解 JSF 2 中 @ViewScoped
bean 的低级工作原理。服务器在请求之间将 View 范围的 bean 保存在哪里?我注意到我的 View 范围 bean 需要实现 Serializable
,因此它们必须序列化到某个位置。
任何人都可以对此进行解释或提供指向解释它的文档的链接吗?
我问这个问题是因为我可能在我的 webapp 中引入了一个范围相关的缺陷。了解 @ViewScoped
的工作原理将帮助我排除一些潜在原因。
最佳答案
@ViewScoped beans 存储在UIViewRoot 的viewMap 中:
UIViewRoot is the UIComponent that represents the root of the UIComponent tree. This component renders markup as the response to Ajax requests. It also serves as the root of the component tree...
事实上,您可以自己访问此 viewMap,并在其中填充值:
facesContext.getViewRoot().getViewMap()...
有关更多信息,请参阅 JSF API 文档: http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/component/UIViewRoot.html
关于java - JSF 2 - @ViewScoped bean 在请求之间存在于何处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736043/