第六週 javaee 做業

1、JSF 的 life cycle  html

1.1   JSF(JaveServer Faces)生命週期有六個階段,這六個階段顯示了典型的一個JSF處理一個form GUI雖須要作的事情:java

  • Restore View - 創建或者恢復原來的頁面服務器

  • Apply Request Values - 設置請求值爲組件的提交的值app

  • Process Validations - 轉換和驗證組建的值. 設置組建的值爲組件提交的值性能

  • Update Model Values - 設置Backing bean的屬性值爲組件的值 url

  • Invoke Application - 執行actionListeners and actions.spa

  • Render Response - 返回response.code

這裏值得提到的一點是若是組件裏面有immidiate這個attribute,對於這個組件JSF的生命週期會從Apply Request Value這一步驟直接跳到Render Response而不會進行中間的步驟component

 

圖示以下:orm

JSF生命週期 <wbr>(JSF <wbr>Life <wbr>Cycle)

 

 

或者以下圖:

 

1.2  對JavaServer Faces生命週期的進一步概述:

 JavaServer Faces應用程序的生命週期從客戶端對頁面發出HTTP請求開始,到服務器響應頁面時結束,而後轉換爲HTML。

 生命週期能夠分爲兩個主要階段:執行和呈現。執行階段進一步劃分爲子階段,以支持複雜的組件樹。該結構要求將組件數據轉換和驗證,處理組件事件,並以有序的方式將組件數據傳播到bean。

 JavaServer Faces頁面由一棵名爲view的組件樹表示。在生命週期中,JavaServer Faces實現必須在考慮從先前提交的頁面中保存的狀態時構建視圖。當客戶端請求一個頁面時,JavaServer Faces實現執行幾個任務,例如驗證視圖中組件的數據輸入,並將輸入數據轉換爲在服務器端指定的類型。

 JavaServer Faces實現執行全部這些任務,由於JavaServer中的一系列步驟都面臨請求-響應生命週期。下圖說明了這些步驟。

Flow diagram of Faces request and Faces response, including event and validation processing, error handling, model updating, application invocation.

 

 

2、FACELETS 的  life cycle

(1) JSF規範定義了JavaServer Faces應用程序的生命週期。如下步驟爲基於 Facelets 的應用程序的過程描述。

  1. 生命週期是在客戶端使用Facelets建立的網頁發出新請求時啓動。 JSF建立一個新的組件樹或javax.faces.component.UIViewRoot並放入FacesContex

  2. 若是可用的UIViewRoot應用於Facelets, 視圖能夠填充組件進行渲染。

  3. 新建的視圖做爲對客戶端的響應而被渲染。

  4. 在渲染時,存儲此視圖的狀態用於下一個請求。 存儲輸入組件和表單數據的狀態。

  5. 客戶端能夠與視圖交互,並從JSF應用程序請求另外一個視圖。 此時,保存的視圖從存儲狀態恢復。

  6. 恢復視圖再次經過JSF生命週期,若是沒有驗證問題,而且沒有觸發任何操做,最終將生成新視圖或從新呈現當前視圖。

  7. 若是請求相同的視圖,則再次呈現存儲的視圖。

  8. 若是要求新視圖,則繼續執行步驟2

  9. 將新視圖做爲對客戶端的響應。

 

(2) Facelets是一種輕量級的頁面聲明語言,用於使用HTML樣式構建JSF(JavaServer Faces)視圖。

它包括如下功能:

  • 它使用XHTML建立網頁。
  • 除了支持JavaServer Faces和JSTL標記庫以外,它還支持Facelets標籤庫。
  • 它支持表達語言(EL)。
  • 它是使用組件和頁面的模板。

優勢

  • 它經過模板和複合組件支持代碼可重用性。
  • 它經過定製提供組件和其餘服務器端對象的功能可擴展性。
  • 編譯時間更快
  • 它在編譯時驗證表達式語言。
  • 高性能渲染能力。
相關文章
相關標籤/搜索