Java EE(六)

JSF生命週期:

https://blog.csdn.net/gaotianyaoyue/article/details/4275282框架

JSF 應用程序生命週期的六個階段是:.net

1.     恢復視圖對象

2.     應用請求值;處理事件blog

3.     處理檢驗;處理事件生命週期

4.     更新模型值;處理事件事件

5.     調用應用程序;處理事件資源

6.     顯示響應開發

這六個階段是 JSF 處理表單 GUI 的通常次序。這個列表按照每一個階段可能的執行次序和事件處理進行排列,可是 JSF 生命週期並非固定的。能夠改變執行的次序,跳過某些階段或徹底脫離生命週期。例如,若是一個無效的請求值被複制到組件,那麼會從新顯示當前視圖,並可能不執行某些階段。servlet

還能夠選擇徹底脫離 JSF,好比將處理委託給一個 servlet 或另外一個應用程序框架。在這種狀況下,能夠執行一個 FacesContext.responseComplete 方法調用,將用戶重定向到另外一個頁面或 Web 資源,而後使用請求調度器(從 FacesContext 中的請求對象得到)轉發到適當的 Web 資源。也能夠調用 FacesContext.renderResponse 來從新顯示原來的視圖。擴展

最重要的是,在利用生命週期組織您的開發工做的同時不會受其束縛。在須要時能夠修改默認的生命週期,而沒必要擔憂破壞應用程序。在大多數狀況下,您會發現採用 JSF 的生命週期是值得的,由於它很是符合邏輯。

在執行任何應用程序邏輯以前,必須檢驗表單;在執行檢驗以前,必須對字段數據進行轉換。若是堅持採用生命週期,您就能夠集中精力考慮檢驗和轉換的細節,而沒必要關注請求過程自己的階段。還要注意,其餘 Web 框架也有類似的生命週期;只不過沒這麼明顯。

一些使用 JSF 的開發人員可能歷來沒有編寫過組件或擴展過框架,而其餘開發人員的工做卻集中在這些任務上。 儘管對於幾乎任何項目,JSF 生命週期都是相同的,開發人員能夠根據其在項目中的角色參與不一樣的階段。若是您主要從事總體應用程序開發,那麼可能關注請求處理生命週期中間的幾個階段:

  • 應用請求值
  • 處理檢驗
  • 更新模型值
  • 調用應用程序

若是您主要從事 JSF 組件開發,那麼可能關注生命週期的第一個階段和最後一個階段:

  • 恢復視圖
  • 顯示響應
相關文章
相關標籤/搜索