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