4
如果我正確合併包含在BalusC最偉大的2006年後http://balusc.blogspot.ch/2006/09/debug-jsf-lifecycle.html與擎天柱的信息甚至更早發佈http://cagataycivici.wordpress.com/2005/12/28/jsf_component_s_value_local/我得到如下:何時在UIComponent上調用setValue和setSubmittedValue?
我的理解:
- 在APPLY_REQUEST_VALUES階段,
- 將輸入值設置爲UI組件的submittedValue屬性(例如,inputComponent。setSubmittedValue(「test」))。
- 在PROCESS_VALIDATIONS相,
- 相同的值從submittedValue中屬性(大概inputComponent。getSubmittedValue())讀出並用於轉化,如果需要的話。
- 如果轉換成功或跳過,則結果設置爲組件的value屬性(例如,inputComponent。setValue(「test」))。
- 此外,submittedValue中再次立即擦除(例如inputComponent。setSubmittedValue(空))
- (轉換的)值是從UI組件的value屬性讀(大概inputComponent。的getValue())並經過驗證。
- 確認後,讀取輔助bean /模型的存儲值(例如myBean。getInputValue()),並與新轉換和驗證的值進行比較。如果不同,則會調用valueChangeListener方法。
- 在UPDATE_MODEL_VALUES相,
- 新轉換和驗證值被最終存儲在背襯bean的屬性字段(例如爲myBean。setInputValue( 「測試」))。
問題:
- 這是正確的嗎?
- 有沒有什麼東西缺少全面瞭解POST和輸入值保存在後臺bean之間的內容?
- 對於輸入組件,立即=「真」,我們只是將這些事件轉移到APPLY_REQUEST_VALUES階段,還是我們改變的不僅僅是事件的時間/順序?