簡體   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