[英]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.