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

學(xué)習(xí)JSF的生命周期

開發(fā) 后端
本文介紹了JSF的生命周期。JSF生命周期對于初學(xué)者來說往往是一個大障礙。筆者認(rèn)為在學(xué)習(xí)JSF的過程中,應(yīng)該把生命周期放在最后部分。

OO中的事件,是對象通信的一種機(jī)制,對象通過響應(yīng)彼此的事件相互協(xié)調(diào)一致。JSP沒有事件,所以JSP的代碼需要程序員自己去協(xié)調(diào),什么時候執(zhí)行什么代碼,往往讓程序員大費周章。如果說JSP代碼是一群孩子的話,那么程序員就是這群孩子可憐的父母,吃喝拉撒全要操心,哪里能夠集中精力做點事情!所以,小孩要上學(xué),學(xué)知識可能只是一個借口,父母想找個老師代管,才是背后真正的原因。

JSF就是程序員們所要尋找的老師,把代碼片斷交給JSF去管理,程序員就可以集中精力編寫業(yè)務(wù)邏輯了。在JSF里,有四類事件。值改變事件,當(dāng)用戶在輸入框中輸入數(shù)據(jù)后發(fā)生;動作事件,當(dāng)用戶提交Form時發(fā)生;數(shù)據(jù)模型事件,當(dāng)數(shù)據(jù)表的某行被選中時發(fā)生;生命周期事件,當(dāng)生命周期從一個階段進(jìn)入另一個階段時發(fā)生。除了生命周期事件,其他事件都是桌面程序中大家所熟知的,而生命周期事件可以想象成窗口事件,例如窗口的生成、關(guān)閉、激活等等。

談到JSF,就不能不談?wù)凧SF請求處理的生命周期。為什么很多人覺得JSF難學(xué)?都是生命周期惹的禍。JSP的生命周期只有一個階段,而JSF卻有6個階段!為什么要這樣呢?其實,這是JSF框架所必需的。JSF只有細(xì)分生命周期階段,才能對Request和Response施加粒度足夠細(xì)的控制,因為JSP那樣粗粒度的控制,不足以支撐UI組件模型和事件模式。 

在我初學(xué)JSF時,生命周期成了我最大的障礙。不管我如何咬文嚼字地推敲JSF規(guī)范中關(guān)于生命周期的描述,我都無法弄明白到底專家們在說什么。甚至直到我完成了我的首個JSF程序的開發(fā),我還是不懂。這讓我十分的惴惴不安,時時擔(dān)心自己誤入歧途。奇怪的是,不論是Sun的Tutorial,還是JSF的官方規(guī)范都把生命周期放在“頭版頭條”的位置,一開篇就大肆推銷生命周期概念,生命周期真的那么重要嗎?

這絕對是一個錯誤!生命周期是JSF的核心,但不是程序員的必修課,初涉JSF的程序員,根本沒有必要浪費精力在生命周期晦澀的概念里糾纏,不懂生命周期,照樣可以用JSF來編程?;ê苌俚臅r間看看各個UI組件的功能和屬性,然后弄明白各類事件的含義以及應(yīng)該如何響應(yīng)這些事件,了解一下JSF可配置的頁面導(dǎo)航機(jī)制,再搞清楚Managed Bean是什么東西,馬上就可以動手編寫你的第一個JSF程序了!

生命周期當(dāng)然重要,不理解生命周期是難以在JSF中深入下去的。但是,如果有機(jī)會讓我來寫JSF的入門教程的話,我會把生命周期放在最后一章,等大家都有了JSF的實踐經(jīng)驗,對JSF是如何簡化Java的Web編程有了感性的認(rèn)識,再來深入剖析JSF的生命周期,才能水到渠成,一點就通。

【編輯推薦】

  1. JSF2.0通過最終投票 JSF已經(jīng)實現(xiàn)所有特性
  2. JSF進(jìn)行Web開發(fā)的三大優(yōu)勢
  3. 新一代Java Web開發(fā)框架JSF訪談實錄
  4. 細(xì)說框架風(fēng)云 JSF能否拯救WEB江湖
  5. 簡談JSF與Struts的功能比較
責(zé)任編輯:yangsai 來源: 百度空間
相關(guān)推薦

2009-06-24 10:47:55

JSF生命周期

2009-06-24 10:34:39

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

2009-06-23 18:11:02

JSF的生命周期Ajax處理

2021-02-14 00:39:57

機(jī)器學(xué)習(xí)技術(shù)人工智能

2015-07-08 16:28:23

weak生命周期

2022-04-19 07:20:24

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

2010-07-28 12:47:06

Flex組件

2010-07-14 10:48:37

Perl線程

2023-02-15 16:25:06

機(jī)器學(xué)習(xí)人工智能數(shù)據(jù)

2009-06-18 13:32:39

Java線程生命周期

2012-04-28 13:23:12

Java生命周期

2011-06-16 09:31:21

ActivityAndroid

2011-08-15 16:09:44

Cocoa對象Objective-C

2012-01-16 09:00:56

線程

2019-10-16 10:50:13

Linux內(nèi)核測試

2013-07-29 05:11:38

iOS開發(fā)iOS開發(fā)學(xué)習(xí)類的'生命周期'

2009-06-17 15:06:50

Hibernate實體

2012-06-20 10:29:16

敏捷開發(fā)

2013-08-19 17:03:00

.Net生命周期對象

2021-07-19 05:52:29

網(wǎng)絡(luò)生命周期網(wǎng)絡(luò)框架
點贊
收藏

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