Struts與WebWork九大特性
WebWork加入到Struts社區(qū),一起推下一個(gè)版本的Struts,新版Struts中包含了WebWork,名字也改叫作“Struts Action Framework 2.0”。當(dāng)然,現(xiàn)有的WebWork版本和bug還會(huì)繼續(xù)維護(hù),但是不會(huì)再推出獨(dú)立的下一版本,新的版本統(tǒng)統(tǒng)會(huì)融入Struts中。
這是個(gè)好消息,一直認(rèn)為struts的框架模式已經(jīng)開始落后,將會(huì)慢慢的被其他框架代替,如咄咄逼人的JSF或者是Tapestry,現(xiàn)在看來(lái)?yè)?dān)心好像多余了,struts作為Apache組織的一個(gè)重要項(xiàng)目,
不會(huì)輕易讓人奪走Web Application Framework for Java的***把交椅,從WebWork社區(qū)中似乎沒(méi)有什么怨言,也許這也是很多人希望看到的結(jié)果。
對(duì)比Struts與WebWork兩大框架的優(yōu)缺點(diǎn):
1.使用標(biāo)簽。
struts的自定義標(biāo)簽多,學(xué)習(xí)起來(lái)復(fù)雜,但同時(shí)功能強(qiáng)大。webwork只定義了一個(gè)webwork.tld,操作更簡(jiǎn)單。
2.有效性驗(yàn)證和javascript支持。
struts支持客戶端JavaScript與服務(wù)器端的校驗(yàn)。webwork的客戶端校驗(yàn),欠美觀。具說(shuō)支持javascript但是因?yàn)槌鯇W(xué),沒(méi)有試過(guò)。
3.struts和webwork都支持
velocity.struts的支持是使用velocity tools,webwork則直接將velocity嵌入。比較起來(lái)webwork顯示更加靈活,配置簡(jiǎn)單一些。
4.插件的支持。
Struts與WebWork相比,Struts作為比較成熟的產(chǎn)品,擁有titles、validator插件,也可自己編寫自己的插件,通過(guò)struts配置文件加載。webwork實(shí)現(xiàn)插件是通過(guò)定制component.xml實(shí)現(xiàn)。
5.顯示方面。
struts因?yàn)橹С謙itles,布局更加靈活。webwork與velocity切換容易也可以定制不同的顯示模板,但是定制過(guò)程繁瑣一些。
6.hibernate的支持程度。
struts通過(guò)過(guò)濾器和插件實(shí)現(xiàn)。webwork有專門的插件:org.hibernate.admin.component.HibernateSessionFactory和org.hibernate.admin.component.HibernateSession
7.模塊化開發(fā)。
struts支持模塊化開發(fā),支持switchAction.webwork暫時(shí)不知是否支持團(tuán)隊(duì)開發(fā),支持action復(fù)用。
8.顯示定義formbean.struts
需要顯示定義 formbean或通過(guò)配置文件定義動(dòng)態(tài)屬性。Struts與WebWork相比,webwork不需要定義formbean或相關(guān)屬性,直接通過(guò)攔截器捕獲屬性。
9.資料獲取。
struts開源項(xiàng)目,支持者眾多,Apache項(xiàng)目文檔比較全。webwork相關(guān)文檔和學(xué)習(xí)資料較少。
【編輯推薦】