| 精靈 | 功能 | 輸入 | 輸出 |
| Struts Converter Wizard | HTML/JSP → Struts Tag Library JSP | 靜態頁面 | 動態 JSP (<html:form> 等) |
| ActionForm Wizard | 生成繼承 ActionForm 的類 | JSP 頁面 / 手動屬性定義 | Form Bean 類 + 可選 struts-config.xml 註冊 |
| Action Wizard | 生成繼承 Action 的類 | 目標 JSP、Scope、驗證設置 | Action 類 + struts-config.xml 映射 |
| JSP from ActionForm Wizard | 由 ActionForm 反向生成 JSP | 現有 ActionForm 類 | Struts Tag JSP |
額外:自動配置 web.xml 註冊 Struts Tag Library。
實戰案例:字符串連接 Web 應用
需求:輸入兩字符串 → 連接 → 顯示結果。邏輯簡單,直接在 Action 完成 (無 Model JavaBean)。
步驟 1:創建 Web 應用專案
File → New Project:StrutsDemo
File → New → Web Application:名稱 demo → 生成 demo.war
- 勾選 Struts 1.0 → 自動配置
web.xml (ActionServlet、TagLib)
步驟 2:ActionForm Wizard 生成 myActionForm
- 啟動 ActionForm Wizard
- 專案自動識別
demo,類名改為 myActionForm
- 字段定義 (三個):
fieldA (String) — 輸入字符串 A
fieldB (String) — 輸入字符串 B
fieldResult (String) — 連接結果
- 完成:自動生成
myActionForm.java,註冊到 struts-config.xml,可選生成 reset()/validate()
步驟 3:Action Wizard 生成 myAction
- 啟動 Action Wizard
- 類名
myAction,關聯 myActionForm
- 目標 JSP:
result.jsp (成功)、error.jsp (失敗)
- Scope:
request
- 完成:生成
myAction.java,struts-config.xml 映射 /myAction → myActionForm → result.jsp
步驟 4:JSP from ActionForm Wizard 生成輸入頁
- 選擇
myActionForm 為源
- 生成
input.jsp,包含 <html:form action="/myAction">、<html:text property="fieldA"/> 等標籤
步驟 5:完善 Action 業務邏輯
public class myAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
myActionForm myForm = (myActionForm) form;
String result = myForm.getFieldA() + myForm.getFieldB();
myForm.setFieldResult(result);
return mapping.findForward("success"); // 對應 result.jsp
}
}
生成項目結構速覽
StrutsDemo/
├── demo/ # Web 模塊
│ ├── src/
│ │ ├── myActionForm.java
│ │ ├── myAction.java
│ │ └── ...
│ ├── WebContent/
│ │ ├── input.jsp # 輸入頁
│ │ ├── result.jsp # 結果頁
│ │ ├── error.jsp
│ │ └── WEB-INF/
│ │ ├── web.xml
│ │ └── struts-config.xml
│ └── build.xml (Ant)
避坑提醒
- Struts 版本鎖定:JBuilder 9 內建 Struts 1.0/1.1,新專案勿手動升級 JAR 破壞精靈兼容性
struts-config.xml 手動修改後,精靈可能無法同步,建議單向流:精靈生成 → 手動微調
ActionForm 較大時,考慮 DynaActionForm 或分模塊多 Form
JBuilder 9 的 Struts 精靈將「配置地獄」變為「點點點」,但理解生成代碼背後的 MVC 映射關係,才是駕馭框架的關鍵。生成後必讀源碼,知其然更知其所以然。
- 上一篇文章: Java 執行緒池實戰指南:原理、實作與調優避坑
- 下一篇文章: 實戰每夜構建平台 (一):需求定義、用例建模與領域分析
Copyright ©
程式碼之家 All Rights Reserved