Stripes 框架的核心優勢在於善用 Java 5 註解消除繁瑣的 XML 配置。透過註解,開發者能直接在程式碼中定義 URL 綁定、事件處理、驗證規則等元數據,大幅提升開發效率與可維護性。
@Before、@After、@SpringBean、@Test 等註解進一步擴展了框架的靈活性,支援生命週期攔截、Spring 整合與測試標記。
TestNG 雖非專為 Stripes 設計,但同樣善用 JDK 1.5 註解特性,且配置維護成本較低,成為 Stripes 開發的首選測試框架。其優勢包括:
本節透過完整的三層式架構範例,示範從資料庫設計到前端呈現的完整開發流程。
Glossary 1.0 採經典 MVC 三層架構:
代表術語實體的 POJO,實作 Comparable 介面以支援按術語名稱排序,包含 id、term、definition 三個核心屬性。
實作 ActionBean 介面,透過 @UrlBinding("/glossary/action") 定義自訂 URL 路徑。關鍵處理方法包括:
load():@DefaultHandler,載入所有術語並轉發至 /glossary/index.jspeditForm():@HandlesEvent("editForm"),取得單一術語並重導向編輯頁save():@HandlesEvent("save"),更新術語定義並重導向列表頁delete():@HandlesEvent("delete"),刪除術語addForm() / add():新增術語的表單顯示與處理採用 RedirectResolution 搭配 .flash(this) 實現重導向時的資料傳遞,ForwardResolution 則用於同一 Web 應用內的伺服器端轉發。
採單例模式管理資料庫連線,封裝完整 CRUD 操作:
getConnection():使用 Derby ClientDriver 連線 jdbc:derby://localhost:1527/glossaryfindAllWords():查詢所有術語,按名稱排序getSingleTerm(id):依 ID 查詢單一術語updateTerm()、deleteTerm()、addTerm():對應修改、刪除、新增 SQL 操作所有資料庫操作均包含完整的資源關閉與例外處理邏輯,確保連線正確釋放。
單純轉發至 /glossary/action/Glossary.action,觸發 ActionBean 的預設處理器。
核心 Stripes 標籤應用:
<stripes:form>:自動包含隱藏表單欄位支援驗證錯誤時的頁面回填<stripes:link>:產生指向 ActionBean 事件的連結,支援 event 與 <stripes:link-param> 傞遞參數<c:forEach>:迭代 ${actionBean.results} 顯示術語列表termAdd.jsp:使用 <stripes:text>、<stripes:textarea>、<stripes:submit name="add"> 建立新增表單termEdit.jsp:預填既有資料,Submit 按鈕名稱改為 save 觸發對應事件處理器Stripes 搭配 Apache Derby 與 Eclipse,展示了零配置 J2EE 開發的強大潛力。Java 5 註解消除 XML 配置負擔,Derby 提供輕量級嵌入式資料庫方案,Eclipse WTP 整合 Tomcat 實現熱部署。這套技術棧讓開發者能專注於業務邏輯實作,而非基礎設施配置,極大提升開發效率與專案可維護性。