From Gossip@caterpillar
開源框架: 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中支持MVC的主要類別及一些輔助類別,在這邊先不使用Struts標籤庫(Tag Library),這會讓我們更瞭解Struts中MVC的運作流程。
除了基本的MVC 架構支援之外,對於一些實際開發時可能面對到的進階議題,Struts提供了一些輔助方案,您可以先考慮這些方案是否合用,以節省開發類似工具所要花費的時間。
如果您使用的是 JSP 2.0以下的版本,Bean標籤可以讓您不必撰寫scriplet就取得Servlet相關的訊息,若您使用的是JSP 2.0,則可以使用Expression Language及其隱含物件來取代一些Bean標籤。
Struts的 Html標籤元件用以取代一些靜態HTML 元件,這可以讓您在JSP頁面上利用 Struts框架的資源,像是ActionForm綁定、統一的訊息管理等,但得到好處的同時,您所付出的是View層與Struts框架的耦合度可能會因此增加。
Logic標籤主要與頁面呈現邏輯相關,根據指定的條件來決定來呈現必要的元件,Struts的 Logic標籤重疊到JSTL中的部份標籤,所以建議您將Struts的Logic標籤當作JSTL外的輔助標籤。
Jakarta Commons Validator 框架可以將驗證邏輯移至ActionForm之外,輔助Struts開發人員使用或自訂客戶端與伺服端的驗證工作。
Tiles是一個模版引擎(Template Engine),它可以讓網頁的配置(Layout)標籤與內容分離,提供一個版面管理機制。
|