Struts 2.0的新特性
Struts 2.0框架中出現的許多特性旨在讓Struts更容易使用:
· 改進(jìn)的設計: 與Struts 1相比,Struts 2的所有類(lèi)都基于接口,核心接口獨立于HTTP。這些API并不依賴(lài)服務(wù)器小程序API。
· 簡(jiǎn)化的Action: Struts 2 Action類(lèi)獨立于框架,是簡(jiǎn)化的普通Java對象(POJO)。擁有execute()方法的任何Java類(lèi)都可以用做Action類(lèi)。
· POJO表單: Struts 2不支持ActionForms特性。ActionForms中定義的屬性可以直接放在A(yíng)ction類(lèi)上。不需要使用所有的String屬性。
· 智能默認值: Struts 2配置文件中的大多數配置元素都會(huì )有默認值,所以不需要設定值,除非需要不同的值。這有助于減少在XML文件中需要進(jìn)行的配置。Struts 2支持注釋?zhuān)@帶來(lái)了更大的方便。
· 改進(jìn)的結果: 在Struts 2中,forward<標簽被<result>標簽取代。不像 ActionForwards,Struts 2結果可以幫助準備響應,并提供構建多種輸出類(lèi)型的靈活性。
· 改進(jìn)的標簽: Struts 2標簽不單單發(fā)送輸出數據,還能提供樣式表驅動(dòng)標記,這樣就可以用較少的代碼構建一致性頁(yè)面。Struts 2標簽現在可與FreeMarker、Velocity及類(lèi)似模板引擎配合使用。
· 引入攔截器: Struts 2為攔截器(interceptor)提供了全面支持。攔截器可在A(yíng)ction類(lèi)執行前后加以執行。攔截器經(jīng)配置后,可以把工作流程或者驗證等常見(jiàn)功能作用到請求上。所有請求通過(guò)一組攔截器傳送,之后再發(fā)送到Action類(lèi)。Action類(lèi)被執行后,請求按照相反順序再次通過(guò)攔截器傳送。
· 支持Ajax: 為了創(chuàng )建使用Ajax的動(dòng)態(tài)Web應用,Struts 2提供了Ajax主題,從而大大改進(jìn)了交互應用。面向Ajax的Struts 2標簽基于Dojo窗口組件。還有用于其他框架的插件。
· 快速啟動(dòng): 部署配置文件可以重新裝入; 因而,可以動(dòng)態(tài)地進(jìn)行許多變化,用不著(zhù)重新啟動(dòng)Web容器。
· 狀態(tài)復選框: Struts 2框架可自動(dòng)跟蹤復選框,如果缺少了某復選框,就會(huì )采用默認值false。因而,不像在Struts 1中,復選框不需要對false值進(jìn)行特殊處理。
· 易于測試: Struts 2 Actions獨立于HTTP,因而與框架中立。無(wú)須使用模擬對象(mock object),就很容易測試。
· 使用注釋: 使用Struts 2開(kāi)發(fā)的應用可以使用Java 5注釋?zhuān)鳛閄ML和Java屬性配置之外的一個(gè)替代辦法。注釋盡量減少了對XML的需要。Action、攔截器、驗證及類(lèi)型轉換方面都有注釋。
· 易于插入: 只要把插件JAR文件放到\WEB-INF\lib目錄中,即可輕松安裝Struts 2插件,不需要手動(dòng)配置。
· 便于與Spring集成: Struts 2 Action能夠感知Spring(Spring-aware)。只要為某個(gè)應用添加Spring beans,就可以添加對Spring的支持。
聯(lián)系客服