簡體   English   中英

回發后對Viewscoped Bean的viewParam的JSF2-行為

[英]JSF2-Behaviour of viewParam on viewscoped bean after postback

我有一個viewscoped bean,它通過f:viewparam接收參數,並使用它們在模型中設置值。 頁面回發后,參數將從url中消失,但初始參數設置的模型值會以某種方式保留。

這是保留參數的安全方法嗎?還是應該在回發時重寫url,以便保留初始參數以便后續調用?

參數如何保留? 在視圖狀態?

以下是f:viewParam文檔所說的內容:

[...]此標簽導致將UIViewParameter作為元數據附加到當前視圖。 因為UIViewParameter擴展了UIInput,所以任何UIInput標簽的所有屬性和嵌套子內容在此標簽上也有效。

這意味着<f:viewParam> value屬性將使用request參數進行更新,並存儲在viewstate中,並在再次提交頁面時重新設置/重新驗證。

Arjan Tijms在這里有完整的故事: http ://arjan-tijms.omnifaces.org/2011/07/stateless-vs-stateful-jsf-view.html

簡而言之:使用@ViewScoped bean完全可以,但是如果您對該值使用昂貴的驗證器/轉換器,請注意,它將在該頁面的每次回發中再次調用它。 如果要避免這種情況,請參閱 BalusC的這篇文章 ,其中介紹了OmniFaces的無狀態替代方案o:viewParam

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM