繁体   English   中英

JSF 2 - @ViewScoped bean 在请求之间位于何处?

[英]JSF 2 - Where does a @ViewScoped bean live between requests?

我试图更好地理解 JSF 中@ViewScoped bean 的低级工作原理 2. 服务器在请求之间将视图范围的 bean 保存在哪里? 我注意到我的视图范围 bean 需要实现Serializable ,因此它们必须序列化到某个位置。

任何人都可以解释这一点或提供解释它的文档链接吗?

我问这个问题是因为我可能在我的 webapp 中引入了与范围相关的缺陷。 了解@ViewScoped工作原理将帮助我排除一些潜在的原因。

@ViewScoped beans 存储在 UIViewRoot 的 viewMap 中:

UIViewRoot 是代表 UIComponent 树的根的 UIComponent。 此组件将标记呈现为对 Ajax 请求的响应。 它还充当组件树的根...

事实上,您可以自己访问这个 viewMap,并使用以下方法在其中填充值:

facesContext.getViewRoot().getViewMap()...

For more information, see the JSF API doc: http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/component/UIViewRoot.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM