JSF執行的6個階段

2021-05-25 01:27:03 字數 1648 閱讀 1037

jsf是基於事件驅動的,首先介紹jsf的事件偵聽。介紹中我僅僅給大家提供簡單的場景。不過我需要首先申明,思考這些事件的時候,你最好先用c/s架構下的模式考慮她的運作模式,再用web下js排程動作的方式去認識執行過程。

1)動作事件:action event:普通動作響應

actionevent是最普通的事件,任何command元件(button,link等,請參見uicommand)通過註冊actionlistener均可出發此事件偵聽響應,簡單說,使用者有意義的操作,即可觸發。

2)即時事件:immediate event:立即處理,不驗證/轉換/更新模型值(即bean不會儲存屬性)

3)值改變事件:value change event:選擇ui值改變後,級聯排程.如果國際化中選擇語言.

值改變事件,如果乙個輸入(uiinput)、選擇(uiselects)元件的值發生改變,將會執行的偵聽。所謂的值改變,就是表單中local值和submit值發生偏移,local值就是頁面渲染時上乙個生命週期中傳遞的值,簡單說就是表單中原來展示的值(server端生成的元件值,在週期中編碼進去)。。submit值,就是面向使用者或者操作者主動輸入的客戶端值。

比如:表單展示時,server端為乙個下拉列表賦值為1(local值),如果使用者選擇了2(submit值).請你用相同的思維去考慮輸入框。

如果值改變,那麼就會被執行,最好的場景就是:國際化中選擇語言,然後把最新的語言元素,廣播到整個站點。

4)階段事件:phase event:監聽響應的jsf生命週期

jsf的執行大致分為6個階段,具體如下(jsf生命週期)。當然這類事件,可以註冊到元件,但是更多的時候,用來監控站點中特殊元件的資料操作。

2.jsf生命週期

1)恢復檢視(restore view)

檢視表示組成特定頁面的所有元件。它被儲存在客戶端(通常儲存在隱藏欄位中)或伺服器中(通常在會話中)。根據請求訪問的檢視id(頁面位址),重建jsf 元件dom樹。如果jsf頁面是第一次訪問,也即是試圖id在記憶體中沒沒有存根,那麼jsf會在記憶體中構建jsf元件的dom樹。恢復檢視也確保了元件的值,與樹中的元件相關聯的事件***、驗證器或者轉換器,都被恢復。

jsf元件獲取請求中的屬於自己的值,包括local值,和submit值.同時處理轉換,轉換成功,更新local值(submit轉換結果),當然過程沒有那麼簡單,jsf處理器有自己的一套解碼過程。

3) 執行驗證

在處理驗證階段,jsf遍歷元件樹並檢查每個元件,看是否每個元件的被提交值都可以接受。驗證發生前,被提交值將首先由註冊到該元件的轉換器或者預設轉換器進行轉換。然後驗證直接由元件進行或者委託給乙個或者多個其他驗證器來進行。如果使用者的輸入無效就會想facescontext中增加乙個錯誤訊息,並且該元件會被表示為無效,然後轉到響應階段,顯示當前檢視,表示錯誤資訊。

4)更新模型值:如果所有的元件本地值轉換驗證等均成功,此時jsf就會根據el處理關聯的bean,並更新bean繫結值.在此處jsf會根據el繫結載入配置的後台bean。

5)呼叫應用:呼叫註冊的偵聽器,然後執行事件驅動,獲取下乙個檢視。偵聽器此時可以有效的偵聽到ui元件的各項資料,事件驅動部分即action可以有效的獲取被更新的後台bean資料。執行自己的業務邏輯。

6)渲染響應(render response)

到此請求處理結束,根據導航規則,渲染響應的頁面.依次執行…

程式設計的6個階段

第一階段 此階段主要是能熟練地使用某種語言。這就相當於練武中的套路和架式這些表面的東西。第二階段 此階段能精通基於某種平台的介面 例如我們現在常用的win 32的api函式 以及所對應語言的自身的庫函式。到達這個階段後,也就相當於可以進行真實散打對練了,可以真正地在實踐中做些應用。第三階段 此階段能...

軟體工程的6個階段

2011 10 30 21 02 59 一,專案計畫階段。也可以說是可行性分析階段 確定了乙個軟體以目前的條件可以完成,主要是經濟,技術和社會條件,撰寫可行性分析報告。需求方和開發方共同 專案中的問題的解決方案 需要的資金,人力,物力 社會方面的影響,例如是否符合法律等 對專案的進度和預期效益進行估...

對缺點看法的6個階段

最近,漸漸梳理出來,自己對個人缺點看法的6個階段,與大家交流一下。第二階段,看到自己的缺點了,知道不知道 但不在乎,認為沒什麼大不了的,我的長處可以完全彌補掉這些缺點,仍然能成事。比如,不喜歡和人溝通 那麼,我想好的方案就去推進,你們不同意是你們不懂,懶得和你們講,照我說的做就行了。第三階段,意識到...