開源框架: Struts Gossip

開源框架: Struts Gossip

Model 2 是現在設計Web應用程式的一個主流模式,也是經過驗證最好的Web層架構模式之一,在1999年2月的JavaWorld大會上,Govind Seshadri的 Understanding JavaServer Pages Model 2 architecture 中清楚的指出了Model 2 是一種 MVC 模式。

Struts 是支持Web MVC開發模式的 Framework, 由 Craig McClanahan 於2000年3月發起的專案,目前是 Apache 專案中的一個子專案,即使 Struts 目前有許多稱其設計不良的非議之聲,但其使用人員多,文件豐富,目前來說仍是業界開發Web應用程式時一個接受度很高的MVC Framework選擇。
Struts API
        這邊會將我對Struts的瞭解整理起來,整理過程中所使用的Servlet Container是 Tomcat 5.5.4,Struts版本是1.2.4,Struts 1.2之後也作了不少改進,您可以看看 1.2 的 Release Notes 瞭解一些改變的內容。

  • Struts 核心框架
Struts中支 持MVC的主要類別及一些輔助類別,在這 邊先不使用Struts標籤庫(Tag Library),這會讓我們更瞭解Struts中MVC的運作流程。

  • Struts 輔助方案
除了基本的MVC 架構支援之外,對於一些實際開發時可能面 對到的進階議題,Struts提供了一些輔助方案,您可以先考慮這些方案是否合用,以節省開發類似工具所要花費的時間。
Struts 標籤庫
        如果您的View層技術是使用JSP,而且您想要快速開發,充分利用Struts框架的功能,您就可以使用Struts標籤庫,儘量飽受批評,但使用它確 實可以省不少功夫。
  • Bean 標籤
如果您使用的是 JSP 2.0以下的版本,Bean標籤可以讓您不必撰寫scriplet就取得Servlet相關的訊息,若您使用的是JSP 2.0,則可以使用Expression Language及其隱含物件來取代一些Bean標籤。

  • Html 標籤
Struts的 Html標籤元件用以取代一些靜態HTML 元件,這可以讓您在JSP頁面上利用 Struts框架的資源,像是ActionForm綁定、統一的訊息管理等,但得到好處的同時,您所付出的是View層與Struts框架的耦合度可能會 因此增加。

  • Logic 標籤
Logic標籤主 要與頁面呈現邏輯相關,根據指定的條件來 決定來呈現必要的元件,Struts的 Logic標籤重疊到JSTL中的部份標籤,所以建議您將Struts的Logic標籤當作JSTL外的輔助標籤。

輔助框架
        在Struts中整合了Validator驗證框架,以及Tiles模版引擎,這邊一併簡介它們的使用方式。

  • Validator 框架
Jakarta Commons Validator 框架可以將驗證邏輯移至ActionForm之外,輔助Struts開發人員使用或自訂客戶端與伺服端的驗證工作。

  • Tiles 模版引擎
Tiles是一個 模版引擎(Template Engine),它可以讓網頁的配置(Layout)標籤與內容分離,提供一個版面管理機制。

參考資料
        Struts的參考資料不少,隨便 Google 都會有一堆,但多數為英文,中文資源比較零散,這邊收集幾個比較完整的Struts資源網站。