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