JSF 規範定義 5 個主要階段(含事件處理):
階段非固定不可變,可透過 FacesContext.renderResponse()、responseComplete() 短路或重導向。
FacesServlet 提取 View ID(JSP 頁面名)FacesContext.viewRootimmediate=false:稍後轉換;immediate=true:立即轉換+驗證FacesContext → 跳至渲染階段faces-config.xml 導航規則匹配 from-outcome 決定下一頁| 角色 | 關注階段 |
|---|---|
| 應用開發者 | 階段 2-3-4(取值、更新模型、業務邏輯) |
| 組件開發者 | 階段 1、5(樹構建、編碼渲染) |
文章附帶 Maven 專案,透過 PhaseListener 記錄各階段執行順序,展示真實生命週期流向。