Struts 作為早期 Java Web MVC 框架的代表作,雖已非主流選擇,但其設計思想深刻影響後續框架。本文系統整理 Struts 核心架構、標籤庫體系、配置機制與學習建議,助你快速掌握經典 MVC 實作精髓。
RequestProcessor 處理請求生命週期| 標籤庫 | 核心用途 | 關鍵標籤 |
|---|---|---|
| HTML | 表單生成、與 Action 綁定 | <html:form>、<html:text>、<html:submit> |
| Bean | 資料存取、FormBean 操作 | <bean:write>、<bean:define>、<bean:message> |
| Logic | 流程控制、集合迭代 | <logic:iterate>、<logic:present>、<logic:equal> |
| Tiles | 頁面佈局模板化 | <tiles:insert>、<tiles:put> |
掌握以下元素即掌握 Struts 配置精髓:
<form-beans>:ActionForm 定義<global-forwards>:全域導航<action-mappings>:請求映射核心<controller>:控制器參數調優<plug-in>:擴充套件 (Validator、Tiles)<message-resources>:國際化資源<data-sources>:資料源 (舊版)<action-servlet>:Servlet 參數<html:form action="/user/save">
<html:text property="username" />
<html:password property="password" />
<html:select property="role">
<html:options collection="roles" property="value" labelProperty="label" />
</html:select>
<html:submit value="儲存" />
</html:form>
關鍵:`action` 屬性對應 `
<!-- 顯示請求屬性 -->
<bean:write name="user" property="name" />
<!-- 定義腳本變數 -->
<bean:define id="userList" name="userForm" property="users" type="java.util.List" />
<logic:iterate id="user" name="userList">
<tr>
<td><bean:write name="user" property="name" /></td>
<td><bean:write name="user" property="email" /></td>
</tr>
</logic:iterate>
<logic:present name="errorMsg">
<div class="error"><bean:write name="errorMsg" /></div>
</logic:present>
推薦教材:《精通 Struts:基於 MVC 的 Java Web 設計與開發》
Struts 以「配置驅動」、「標籤庫豐富」、「頁面導航集中管理」三大特色,定義了 Java Web MVC 經典範式。雖技術棧老舊,但其設計模式應用 (Front Controller、Command、Interceptor、Template Method) 仍是現代框架核心。學習 Struts 不為求職,為洞悉框架本質。