表現(xiàn)層框架Struts/Tapestry/JSF架構(gòu)比較
JSF在很大程度上類似Struts,而不是類似Tapestry,可以說(shuō)是一種Struts 2.0,都是采取標(biāo)簽庫(kù)+組件的形式,只是JSF的組件概念沒(méi)有象Struts那樣必須繼承ActionForm的限制;JSF在事件粒度上要細(xì)膩,不象Struts那樣,一個(gè)表單一個(gè)事件,JSF可以細(xì)化到表單中的每個(gè)字段上。JSF只有在組件和事件機(jī)制這個(gè)概念上類似Tapestry,但是不似Tapestry那樣是一個(gè)完全組件的框架,所以,如果你做一個(gè)對(duì)頁(yè)面要求靈活度相當(dāng)高的系統(tǒng),選用Tapestry是第一考慮。
Struts/JSF則適合在一般的數(shù)據(jù)頁(yè)面錄入的系統(tǒng)中,對(duì)于Struts和JSF的選用,我目前個(gè)人觀點(diǎn)是:如果你是一個(gè)新的系統(tǒng),可以直接從JSF開始;如果你已經(jīng)使用Struts,不必轉(zhuǎn)換,如果需要切換,可以將JSF和Tapestry一起考慮。
另外,JSF/Tapestry不只是支持Html,也支持多種客戶端語(yǔ)言如WML或XUI等。
這三者之間關(guān)系:如果說(shuō)Struts是左派;那Tapestry則是右派;而JSF則是中間派,中庸主義是SUN聯(lián)盟的一貫策略。
當(dāng)然,你也可以發(fā)表你在實(shí)踐中這三者任何一個(gè)的使用感受,以使得后來(lái)者有一個(gè)比較。
我們通過(guò)下表來(lái)比較這 三種框架在實(shí)現(xiàn)上圖各個(gè)功能時(shí)技術(shù)細(xì)節(jié),從而得出他們的異同點(diǎn)和偏重點(diǎn)。
|
posted on 2005-09-23 22:28 風(fēng) 閱讀(602) 評(píng)論(0) 編輯 收藏 所屬分類: JSF