自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡(jiǎn)單介紹JSF生命周期

開發(fā) 后端
本文簡(jiǎn)單介紹JSF生命周期,以及扣除事件處理,JSF生命周期總共必須經(jīng)過六個(gè)階段。

JSF生命周期

JSF的每個(gè)元件基本上都是可替換的,像是轉(zhuǎn)換器(Converter)、驗(yàn)證器(Validator)、元件(Component)、繪制器(Renderer)等等,每個(gè)元件都可以替換讓JSF在使用時(shí)更有彈性。

但相對(duì)的所付出的就是元件組合時(shí)的復(fù)雜性,為此,最基本的,如果您打算自訂一些 JSF元件,那么您對(duì)于JSF生命周期處理請(qǐng)求的每個(gè)階段必須要有所了解。

JSF處理請(qǐng)求時(shí)的每個(gè)階段與簡(jiǎn)單說明,起始狀態(tài)即使用者端發(fā)出請(qǐng)求時(shí),終止?fàn)顟B(tài)則相當(dāng)于繪制器發(fā)出回應(yīng)時(shí):

扣除事件處理,JSF生命周期總共必須經(jīng)過六個(gè)階段:

◆回復(fù)畫面(Restore View)
對(duì)于選擇的頁面如果是初次瀏覽則建立新的元件樹。如果是會(huì)話階段,會(huì)從使用者端或伺服器端的資料找尋資料以回復(fù)每個(gè)元件的狀態(tài)并重建元件樹,如果不包括請(qǐng)求參數(shù),則直接跳過接下來的階段直接繪制回應(yīng)。

◆套用申請(qǐng)值(Apply Request Values)
每個(gè)元件嘗試從到來的請(qǐng)求中找尋自己的參數(shù)并更新元件值,在這邊會(huì)觸發(fā)ActionEvent,這個(gè)事件會(huì)被排入佇列中,然后在喚起應(yīng)用程序階段之后才會(huì)真正由事件處理者進(jìn)行處理。然而對(duì)于設(shè)定immeduate為true的命令(Commamnd)元件來說,會(huì)立即處理事件并跳過之后的階段直接繪制回應(yīng),而對(duì)于設(shè)定immediate為true的輸入(Input)元件,會(huì)馬上進(jìn)行轉(zhuǎn)換驗(yàn)證并處理值變事件,之后跳過接下來的階段,直接繪制回應(yīng)。

◆執(zhí)行驗(yàn)證(Process Validations)
進(jìn)行轉(zhuǎn)換與驗(yàn)證處理,如果驗(yàn)證錯(cuò)誤,則會(huì)跳過之后的階段,直接繪制回應(yīng),結(jié)果是重新呼叫同一頁繪制結(jié)果。

◆更新模型值(Update Model Values)
更新每一個(gè)與元件綁定的backing bean或模型物件。

◆喚起應(yīng)用程序(Invoke Application)
處理動(dòng)作事件,并進(jìn)行后端應(yīng)用程序邏輯。

◆繪制回應(yīng)(Render Response)
使用繪制器繪制頁面。

如果您只是要「使用」JSF,則您最基本的只需要知道「執(zhí)行驗(yàn)證」、「更新模型值」、與「喚起應(yīng)用程序」這三個(gè)階段及中間的事件觸發(fā),JSF參考實(shí)作將這三個(gè)階段之外的其它階段之復(fù)雜性隱藏起來了,您不需要知道這幾個(gè)階段的處理細(xì)節(jié)。

然而如果您要自訂元件,則您還必須知道「回復(fù)畫面」、「套用請(qǐng)求值」與「繪制回應(yīng)」這些階段是如何處理的,這幾個(gè)階段相當(dāng)復(fù)雜,所幸的是您可以使用JSF 所提供的框架來進(jìn)行元件自訂,JSF提供的框架已經(jīng)很大程度上降低了元件製作的復(fù)雜性。

當(dāng)然,即使JSF框架降低了復(fù)雜性,但實(shí)際上要處理JSF自訂元件還是很復(fù)雜的一件事,在嘗試開發(fā)自訂元件之前,您可以先搜尋一些網(wǎng)站,像是 Apache MyFaces http://myfaces.apache.org/,看看是不是已經(jīng)有相關(guān)類似的元件已經(jīng)開發(fā)完成,省去您重新自訂元件的氣力。

【編輯推薦】

  1. JSF標(biāo)記與JSTL標(biāo)記混合使用
  2. 升級(jí)JSF1.2的艱難之旅
  3. OSGi與JSF結(jié)合開發(fā)
  4. 使JSF支持帶有HTMLMessage
  5. JSF如何使用ExternalContext
責(zé)任編輯:佚名 來源: e800
相關(guān)推薦

2009-06-11 11:28:35

JSF生命周期

2009-06-24 10:34:39

JSF生命周期JSF應(yīng)用程序

2009-07-23 18:14:17

MVC生命周期

2009-06-23 18:11:02

JSF的生命周期Ajax處理

2009-08-04 16:50:15

ASP.NET頁面生命

2009-06-23 13:01:04

JSF應(yīng)用

2009-06-23 13:55:17

JSF標(biāo)簽

2015-07-08 16:28:23

weak生命周期

2009-11-18 14:45:02

PHP5 Sessio

2009-06-24 17:43:24

Struts和JSF

2012-06-20 10:29:16

敏捷開發(fā)

2013-08-19 17:03:00

.Net生命周期對(duì)象

2021-07-19 05:52:29

網(wǎng)絡(luò)生命周期網(wǎng)絡(luò)框架

2020-03-30 13:20:58

線程Java編程語言

2022-04-19 07:20:24

軟件開發(fā)安全生命周期SSDLC應(yīng)用安全

2023-10-07 00:05:07

2014-07-16 13:39:30

Windows Pho

2013-08-01 09:40:51

Windows 8.1

2009-06-18 13:32:39

Java線程生命周期

2012-04-28 13:23:12

Java生命周期
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)