Struts 2 是流行且成熟的基于 MVC 設計模式的 web 應用程序框架。Struts 2 不只是 Struts 1 的版本升級,而它是一個完全重寫的 Struts 架構。
WebWork 框架一開始是以 Struts 框架為基礎的,它的目標是提供一個建立在 Struts 上加強和改進的框架來使開發(fā)人員更容易進行 web 開發(fā)。
一段時間之后,WebWork 框架和 Struts 社區(qū)聯(lián)手創(chuàng)建了著名的 Struts 2 框架。
這里有一些強大的功能,它可能會迫使你考慮 Struts 2:
POJO 表單和 POJO 動作 - Struts 2 已經去掉了原先是 Struts 框架的一個組成部分的動作表單,利用 Struts 2,你可以使用任何 POJO 來接收表單的輸入。同樣,你現在可以看到任何作為 Action 類的 POJO。
標簽支持 - Struts 2 已經改進了表單標簽和新標簽允許開發(fā)人員編寫更少的代碼。
AJAX 支持- Struts 2 已經確認由 Web2.0 技術接管,并且通過創(chuàng)建 AJAX 標簽把 AJAX 支持集成到產品中,AJAX 標簽的功能非常類似于標準 Struts 2 標簽的功能。
易于整合 - 與其他框架如 Spring 一起集成,Tiles 和 SiteMesh 是現在更容易使用各種各樣有效的使用 Struts 2 的集成。
模板支持 - 支持使用模板生成視圖。
插件支持 - 核心 Struts 2 的特性可以使用插件得到提高和增強。大量的插件對于 Struts 2 來說是可用的。
配置 - Struts 2 提供了集成配置來調試和配置應用程序。除此之外,Struts 還在內置調試工具的幫助下提供了集成調試。
易于修改標簽 - Struts 2 的標簽標記可以使用 Freemarker 模板進行調整。這并不需要 JSP 或 Java 知識。基礎的 HTML,XML 和 CSS 知識是足夠修改標簽的。
提升較少的配置 - Struts 2 在使用各種設置的默認值的幫助下促進較少的配置。你不需要配置,除非它偏離 Struts 2 設定的默認設置。
以上只是 Struts 2 使它成為企業(yè)級框架的前十大功能。
雖然 Struts 2 有一列強大的功能,但我不會忘了提及一些關于 Struts 2 的缺點,它將需要很多改進:
更大的學習曲線 - 要使用帶有 Struts 的 MVC,你必須是熟練使用標準的 JSP,Servlet APIs 和大量精心設計的框架。
拙劣的文檔 - 與標準的 servlet 和 JSP APIs 相比,Struts 有較少的在線資源,許多第一次使用的用戶發(fā)現網上 Apache 文檔混亂而且缺乏組織。
最后一點,一個好的框架應該提供許多不同類型的應用程序可以使用的通用的特性。Struts 2 是最好的 web 框架之一,而且被廣泛地用于開發(fā) Rich 互聯(lián)網應用(RIA)。