免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
JSF in Action讀書筆記一
JSF基礎(chǔ)
JSF主要組成部分

UI component
 有狀態(tài)的對象,注意有狀態(tài)意味著后臺保持著前臺的狀態(tài),是不是有點類似C/S程序了?

Render
一直不太清楚應(yīng)該如何翻譯這個Render,“修飾”,“著色”,“呈現(xiàn)”,個人認為還是“呈現(xiàn)”更貼切一些,因為Render的職責就是將UI component“呈現(xiàn)”到一個媒介上面,媒介可以是PC的WEB瀏覽器、移動設(shè)備,甚至是保存到文件;

Validator
校驗器,對一個UIInput的輸入值進行校驗,一個組件可以有多個validator,一個validator也可以用在多個Input組件上(Validator的重用)

Backing Bean
如何翻譯?“支撐Bean”,有點類似Struts的Form,但是比FormBean又多了一些EventHandler的功能,比如一個UIInput就可以將其ValueChange響應(yīng)映射為Backing Bean的一個方法。這就是EventListener。

Converter
任何一個好的Web框架都應(yīng)該有好的類型轉(zhuǎn)換機制,但是很多框架卻忽視了這點。因為Web上提交、顯示的內(nèi)容其實都是String,而一個Application中不可能都是String的,肯定會有int, long, date等類型,這就涉及到一個將Convert from and to String的問題,另外Converter還可以進行擴展,以實現(xiàn)對相同數(shù)據(jù)的不同顯示方式,比如在不同的Locale顯示Date的格式問題。

Events and listeners
JSF使用了JavaBean的事件模型(JavaBean遠不止簡單的getter/setter那么簡單,這是很多Java初學(xué)者對JavaBean的誤解),在Swing中也用了這種機制。UIComponent產(chǎn)生Event,Listener可以被注冊以監(jiān)聽這些事件。所謂注冊,就是在JSF中,類似下面的代碼實現(xiàn):
<h:inputText valueChangeListener="#{myForm.processValueChanged}"/>
但是,這種事件的響應(yīng)需要表單提交之后才能執(zhí)行,具體原因,請參見我的另外一篇文章《JSF如何實現(xiàn)onblur之后的復(fù)雜邏輯校驗》

Messages
這好像沒有什么好說的,基本上和Struts等框架的Message概念相似,就是向用戶顯示的信息;

Navigation
導(dǎo)航機制,也就是Page→Action→Page的一個過程。和Struts的ActionForwarding類似,不過比Struts強大的一個地方在于:JSF可以使用EventListener實現(xiàn)執(zhí)行完Backing Bean邏輯之后不導(dǎo)航到別的頁面,而只是redisplay當前頁面,且保持頁面的狀態(tài)。
深入理解這些概念對學(xué)習(xí)JSF很有幫助,另外下面這個類圖也需要掌握:


一個好的框架,其OO思想非常重要,而OO思想的一個基本原則就是:該你做的,你把它做好,不該你做的,你就不要越權(quán)。其實OO思想已經(jīng)超越了計算機技術(shù)的范疇,應(yīng)該演變成一種哲學(xué)體系。


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JSF生命周期(轉(zhuǎn))
java面試-ssh-1
Qiqi_Boy
選擇JSF不選Struts的十大理由
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服