幾個(gè)JSF流行名詞的解釋
JSF 作為一個(gè)標(biāo)準(zhǔn),里面的設(shè)計(jì)處處都感覺(jué)到 SUN 的習(xí)慣與痕跡,對(duì)于一直從事開(kāi)發(fā) JSF 或者 Struts 的開(kāi)發(fā)人員來(lái)說(shuō), JSF 算是看起來(lái)會(huì)比較順眼的(我用 Tapestry ,當(dāng)然看 JSF 也很順眼)。沒(méi)做這個(gè) JSF 研究之前,一直都是聽(tīng)到 JSF 的優(yōu)點(diǎn): POJO ,組件化,兼容 JSP ,性能也不錯(cuò),還有國(guó)際化支持,頁(yè)面導(dǎo)航等的特點(diǎn),重點(diǎn)它是一個(gè)標(biāo)準(zhǔn),頭頭們比較放心。
首先解答一個(gè)初學(xué)者對(duì)JSF流行名詞的困惑,大家聽(tīng)得比較多的幾個(gè)JSF流行名詞是, JSF1.1 , JSF1.2 , myfaces,oracle ADF,ajax4jsf , facelets, 它們究竟是什么,有什么關(guān)系呢?
JSF1.1 、 1.2 都是 JSF 的標(biāo)準(zhǔn),定義例如接口、規(guī)范( JSF 是面向接口編程的),必須通過(guò)實(shí)現(xiàn)才能被我們所使用,而實(shí)現(xiàn)包括有 JSF RI(Reference Implementation) ,還有 myfaces core1.1.4 的實(shí)現(xiàn)等。 JSF RI 是 SUN 對(duì) JSF 的實(shí)現(xiàn),相對(duì)來(lái)說(shuō)兼容性比較好,也比較穩(wěn)定(因?yàn)?1.1 已經(jīng)很久沒(méi)更新過(guò)了,已經(jīng)轉(zhuǎn)向 1.2 去了),而 myfaces 更新比較快,功能也比較多一點(diǎn),初學(xué)的推薦 JSF RI1.1 就可以了, 1.2 需要新的 servlet2.5/jsp2.1 以及服務(wù)器支持,現(xiàn)在還不穩(wěn)定。
myfaces ,它是一個(gè)大的項(xiàng)目,下面有幾個(gè)子項(xiàng)目,分別是 myfaces core, sandbox ,tabago,tomahawk ,(奇怪的名字,好難說(shuō),我簡(jiǎn)稱(chēng)它為 TOM ),還有一個(gè)新的 ADF Faces (跟 oracle adf 有關(guān),應(yīng)該是兼容整合 adf 的功能吧)。 Tabago,tom 都是組件庫(kù), tabago 比較好玩的是支持換膚,還有一些支持 ajax 的組件, TOM 則是一個(gè)豐富的增強(qiáng)組件庫(kù),大概有三十個(gè)之多,例如 TREE , TAB 等等。 Sandbox 是測(cè)試用的。
Oracle ADF 是 oracle 為 jsf 做的一個(gè)大型的組件庫(kù),以前是收費(fèi)的,現(xiàn)在開(kāi)源了,我沒(méi)用過(guò),不好說(shuō)。
Ajax4jsf 是為 jsf 提供 AJAX 支持的一個(gè)標(biāo)簽庫(kù),使用它提供的標(biāo)簽,就能在原有的 JSF 程序上輕易的加上 AJAX 的功能,而且不用寫(xiě)任何 Javascript 。
Facelets 這個(gè)是很激動(dòng)人心的一個(gè)框架,有了這個(gè)框架才把 JSF 的組件化發(fā)揮出來(lái),通過(guò)模板的方式來(lái)組合成我們所需要的組件,而且可以不使用 <h:input> 這樣的標(biāo)簽庫(kù),而用 <input type=”text” jsfc=”h:input”> 這樣的方式來(lái)使用組件,這樣就可以方便的使用 UI 可視化工具去開(kāi)發(fā)我們的 WEB 程序。這個(gè)框架我會(huì)在以后的文章中詳細(xì)的說(shuō),以及和 jsp2.0 的模板功能作對(duì)比。以上是介紹幾個(gè)JSF流行名詞。
【編輯推薦】